Repository navigation
rfc: one MCP surface built into the server - #992
Conversation
Review of #992 at
|
| Commit | Command | Result |
|---|---|---|
head c3ee28f4 |
python3 scripts/check-docs.py |
Documentation OK (269 Markdown files checked) |
head c3ee28f4 |
bash scripts/check-agents-md.sh |
OK (54 links, 50 docs) |
head c3ee28f4 |
typos (v1.50.1, as pinned in CI), whole repo |
exit 0 |
head vs main cea15256 |
git merge-tree |
clean |
merge of head into main cea15256 |
check-docs.py, check-agents-md.sh |
275 files OK. 55 links, 51 docs |
CI on this head: 17 passed, 15 skipped (the Rust jobs skip a docs-only change), 0 failed.
Limitations. This is a docs-only PR, so I ran no Rust tests. I checked the implementation facts by reading main at cea15256, rmcp 3.3.0 from crates.io, the MCP 2026-07-28 specification source, and the TypeScript SDK source. I did not run a live MCP client against the server, so the client-timeout race in finding 2 comes from reading the source, not from a measurement.
|
All eight threads from the review at c3ee28f are addressed in 5f00b74 and b9f142a (the branch also merges
The 30 s write wait and the instruction text are in #999. Status stays |
Amends RFC 0003 for issue #991: the server's
/mcpbecomes the only MCP implementation, and@modernrelay/omnigraph-mcpis retired instead of kept as a stdio proxy.What the amendment decides
/.well-known/oauth-protected-resource{resource path}, compared byte for byte, other suffixes 404);error="invalid_token"when a presented bearer is refused; aschematool (GET /schema, Cedarread); an ad-hocreadtool (POST /query, Cedarread, mutations refused) behind--mcp-allow-adhoc, default off; descriptions, instructions and output schemas./mcpmounted whenever the server has a bearer credential source (static tokens, signed data tokens, OIDC), with metadata and the OAuth challenge staying OIDC-only and a new--mcp-allowed-hostsetting; read parity tools (health,snapshot,branches_list,commits_list,commits_get,commits_changes,changes_poll) and resources; write tools behind--mcp-allow-writes, default off, keeping the package's write contract (graph-commit precondition, no automatic retry, unknown outcome reported).implementation: partial.Choices a reviewer should check
querystays the stored read, so the ad-hoc read isread, and the package'sschema_getisschema. No alias tools.--mcp-allow-adhoc/OMNIGRAPH_MCP_ALLOW_ADHOC, …), like--unauthenticatedand--require-all-graphs, not cluster configuration.Originheader is refused, since there is no resource origin to allow; native clients send none.omnigraph://graphs/{graph}/schema,…/branches) because the server is multi-graph; the package's URIs assumed one configured graph.skills/omnigraph/referencesthrough theomnigraph-skillcrate proposed in feat(cli):omnigraph skill exportships the version-matched agent skill #986, so phase 2 depends on that crate landing.outcome_unknownwhile the owned write continues.Status stays
draft; a maintainer decision moves it toaccepted.Implementation, ready for review and to merge only after acceptance: #993 (phase 1), #994 (phase 2, stacked on #993), #995 (best-practices resources, stacked on #994 and #986). Package deprecation, not published: ModernRelay/omnigraph-ts#22.
A later commit records that
graphsfalls back toGET /graphsundergraph_listfor non-identity credentials, since/graphs/discoveryadmits only identity credentials.Checks
python3 scripts/check-docs.py: Documentation OK (269 Markdown files checked)bash scripts/check-agents-md.sh: OKtypos docs/rfcs/0003-mcp-server-surface.md: clean