Docs: TIGERMCP.md — Tiger as an MCP server (scoped, not built) - #137
Merged
Conversation
…uilt) The design-of-record for TigerMCP: an external AI client (Claude Desktop/Code, Cursor, ChatGPT) drives a Tiger install through the Model Context Protocol over the SAME token-authenticated, ACL-gated /api surface the browser + agent use. Scoped per Beau: inbound first, a stdio BRIDGE to ONE endpoint (/mcp), standard community MCP (JSON-RPC 2.0, Streamable HTTP), shipped as a CORE module that is OFF by default. MCP = reach not capability; the ACL gates. Key point the doc records: the hard parts are already built — Bearer-token stateless /api auth (Tiger_Service_Token + ServiceFactory), the /api dispatcher, deny-by-default ACL, and role-filtered tool reflection (Tiger_Agent_Tools::catalog = tools/list; Forge dispatch = tools/call; OpenApi Form→schema = inputSchema). So it's a thin adapter, not a new subsystem. Wired into the CLAUDE.md doc index. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
…tools-only v1, no approval webhook Move the four resolved open questions into the settled design: a fresh MCP token gets a curated starter set (widenable, not the whole role); MCP tokens are org-scoped (act as the org, not a person); v1 is tools-only (resources/prompts deferred); no per-write approval webhook (token scope + ACL + metering + audit is the boundary). §12 keeps only the two genuinely-open items (result shape, discovery signal). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Design-of-record for TigerMCP — Tiger as an MCP server, so an external AI client drives the install through the same token-authenticated, ACL-gated
/apisurface the browser and in-app agent use. Scope only; no code.Scoped per direction: inbound first · a stdio bridge to one endpoint (
/mcp) · standard community MCP (JSON-RPC 2.0, Streamable HTTP, themcpServersconfig) · shipped as a core module OFF by default.The load-bearing point: the hard parts already exist, so this is a thin adapter —
/apiauth →Tiger_Service_Token+ServiceFactory(built)tools/list→Tiger_Agent_Tools::catalog($role)(built)tools/call→ proxy to/apiviaServiceFactoryas the token identity (built)inputSchema→ theTiger_OpenApi_GeneratorForm→JSON-Schema mapper (built)What's actually new: the
/mcpJSON-RPC handler, the zero-Node PHP stdio bridge, scoped tokens + per-token metering, and the enable toggle. Covers off-by-default posture, guardrails, rejected alternatives, a 5-step build order, and open questions. Wired into the CLAUDE.md doc index.🤖 Generated with Claude Code