docs(mcp): mark media tools MCP-only in index.ts (#294, media family)
The media tools — insert_image, replace_image, insert_footnote — are MCP-only by design: the in-app AI-chat agent exposes no image or footnote tools, so there is no second layer to unify into SHARED_TOOL_SPECS. A registry spec's tier/catalogLine are in-app metadata and the catalog-partition test forbids a spec without a live in-app tool, so forcing them into the registry would break the invariant. They stay per-transport (inline in index.ts). No behavior change — documentation only (adds the rationale above each tool so a future migrator does not re-investigate why these are not shared). Gate: mcp tsc 0 (comment-only change). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -381,6 +381,10 @@ registerShared(SHARED_TOOL_SPECS.deleteNode, async ({ pageId, nodeId }) => {
|
||||
});
|
||||
|
||||
// Tool: insert_image
|
||||
// MCP-only by design (NOT in the shared registry): the in-app AI-chat agent
|
||||
// exposes no image tools (insert/replace), so there is no second layer to unify
|
||||
// — a SHARED_TOOL_SPECS entry's tier/catalogLine are in-app metadata and the
|
||||
// catalog-partition test forbids a spec without a live in-app tool (#294).
|
||||
server.registerTool(
|
||||
"insert_image",
|
||||
{
|
||||
@@ -426,6 +430,7 @@ server.registerTool(
|
||||
);
|
||||
|
||||
// Tool: replace_image
|
||||
// MCP-only by design (see insert_image): no in-app equivalent, stays inline.
|
||||
server.registerTool(
|
||||
"replace_image",
|
||||
{
|
||||
@@ -790,6 +795,8 @@ server.registerTool(
|
||||
);
|
||||
|
||||
// Tool: insert_footnote
|
||||
// MCP-only by design (see insert_image): the in-app AI-chat agent exposes no
|
||||
// footnote tool, so there is no second layer to unify — stays inline (#294).
|
||||
server.registerTool(
|
||||
"insert_footnote",
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user