MCP is another surface
The Model Context Protocol lets an agent client discover and call tools. The tools specification defines:ΒΆ
tools/listfor discovery.ΒΆtools/callfor calling a tool.ΒΆ- Input JSON Schema.ΒΆ
- Optional output JSON Schema.ΒΆ
A client that speaks MCP can discover names and arguments without learning a separate call format. In rat-stack, MCP projects the shared handler23.ΒΆ
The projection
packages/capability/src/to-toolkit.ts turns contracts into Effect tools. It projects input, output, failure, and annotations.ΒΆ
- Supplies the toolkit to
McpServer.toolkit.ΒΆ - Serves it at /mcp.ΒΆ
- Serves public documents as resources.ΒΆ
- Serves skills as prompts.ΒΆ
The application tool is the same job
apps/site/src/capabilities/index.ts includes joinInterest in the hosted toolkit. Its contract requires contact consent, a page ticket, and the approved card. The same requirements apply over MCP.ΒΆ
The HTTP alternative is POST /api/joinInterest. The first observed application7 uses that route without fetching MCP. The job does not need a protocol-specific handler.ΒΆ
Use code mode21 to combine content calls. It does not expose joinInterest inside the sandbox.ΒΆ
See how we do it with Effect9 for the whole path.ΒΆ
Sources
- MCP tools specification. Primary source. MCP tools specification Accessed 2026-10-02.
- packages/capability/src/to-toolkit.ts. GitHub. packages/capability/src/to-toolkit.ts Accessed 2026-10-02.
- apps/site/src/app.ts. GitHub. apps/site/src/app.ts Accessed 2026-10-02.
- apps/site/src/capabilities/index.ts. GitHub. apps/site/src/capabilities/index.ts Accessed 2026-10-02.
- packages/core/src/join-interest-contract.ts. GitHub. packages/core/src/join-interest-contract.ts Accessed 2026-10-02.
Last changed 2026-10-10 in 978dccc. Source on GitHub. Change log.
Linked from
- add-a-capability. Learn how one contract and its handler become a command, HTTP route, MCP tool, browser RPC, and sandbox call.
MCP (Model Context Protocol) adds a doThing tool with the same schemas and flags.ΒΆ
- Agent guide. An Effect stack so pure (aspirational) Kit Langton will blush.
MCP server: Model Context Protocol tools for search, reading, and code in a restricted environment
- An agent applied through Markdown and HTTP. One observed application used the Markdown page and llms.txt, then one POST; confirmation followed 88 seconds later.
md, lore, or MCP.ΒΆ
- An MCP your users want. Rhys Sullivan's practical guide gives rat-stack a checklist for useful MCP tools.
- Build and run rat-stack (README.md). What is in the repo, how the example works, and how to run it.
- Capabilities. Named application actions exposed through generated interfaces share one definition and one server-side implementation.
Model Context Protocol lets an agent discover and call tools.ΒΆ
- Change log. What changed in the files served here, newest first.
MCP is another surface β edited: docs: point live docs, skills and Brain pages at apps/site
- Devtools. Development-only capabilities inspect calls and lifecycle transitions without entering production bundles.
MCP means Model Context Protocol, which lets an agent discover and call tools.ΒΆ
- Effect + Alchemy peers. Public repositories that share rat-stack's prerelease lines.
- Effect keeps the surfaces on one contract. Schema owns values, projections build interfaces, and Layers supply implementations.
MCP is another surface: discover and call the toolkit over the protocol.ΒΆ
- Full agent guide. An Effect stack so pure (aspirational) Kit Langton will blush.
- HATEOAS. Links in a representation tell its reader what to do next; rat-stack applies that idea to agent-facing pages and responses.
Agents submit a person-approved editable card through joinInterest over MCP, HTTP, or CLI.
- Hosted agent interfaces. Discovery documents, HTTP, MCP, A2A, and bounded code mode expose the public reference to agents.
MCP means Model Context Protocol.
- Interest signup. Agent-only applications start email confirmation through interfaces owned by core and delivery implemented in a separate package.
MCP means Model Context Protocol, which lets an agent discover and call tools.ΒΆ
- keep-or-cut. Learn which pieces depend on each other, then keep only the ones your project needs.
MCP ( Model Context Protocol) lets an agent discover and call tools.
- learn. Present Effect, Alchemy, XState, and application-design concepts during real work when the operator enables learn mode. Use for adaptive explanations and local learning progress.
Public MCP and HTTP progress tools use supplied progress and store no progress.ΒΆ
- Learn mode presents concepts at useful depths. An agent presents source-derived concepts during real work and keeps learning events in a private local log.
MCP means Model Context Protocol.
- One program can replace several tool calls. Code mode combines typed content calls inside one bounded execute request.
MCP ( Model Context Protocol) lets an agent discover and call tools.ΒΆ
- One schema, three surfaces. A capability contract feeds CLI, HTTP, and MCP; OpenAPI is generated output, not their input.
my approach wrt to the agentic backend is to cover cli/api/ mcp with a single openapi schema that is used to generate all threeΒΆ
- Purpose and boundaries of rat-stack (VISION.md). What this starter is for and what a useful copy should keep.
Link context
Agents apply through joinInterest over MCP, HTTP, or the CLI with a single-use page ticket and the personβs approval of the exact card; confirmation is still required.
- Rat Stack lore | rat-stack. Short, source-grounded notes on the ideas and decisions behind rat-stack.
MCP is another surface β MCP lists and calls schema-typed tools; rat-stack projects the same handlers instead of adding MCP-only behavior.
- Rat Stack systems | rat-stack. The systems rat-stack ships, the standard each keeps, and how to check it.
The hosted agent front door records discovery, MCP versions, API, A2A, and sandbox limits; extracting it into a generic cartridge remains future work.
- rat-stack. An Effect stack so pure (aspirational) Kit Langton will blush.
Agents use MCP, HTTP, or code mode.
- Schema projections: 2026-09-18 history. Historical Effect rc.115 proposal and implementation receipts from 2026-09-18; use the one-capability-every-surface lore page for the current pattern.
Link context
The interesting question is whether one Effect Schema definition can project into a CLI, a REST API with OpenAPI, an MCP server, and a code-mode surface, and what Executor and Kody teach about the last two.
- Source change history (log.md). The generated change log as Markdown.
MCP is another surface β edited: docs: point live docs, skills and Brain pages at apps/site
- uncomplect. Find responsibilities that a rat-stack design combines, separate them into capabilities, cartridges, machines, features, and clients, and enforce that separation through types and checks. Use when asked to simplify, review, or replace a design, "what would Rich Hickey do", "optimize for deletion", or "define this error out of existence".
ts, or separate handlers for HTTP, MCP, CLI, and RPC.ΒΆ
- use-a-prompt. Discover and read published rat-stack prompts before starting a task with one.
Native MCP prompt messages remain a separate proposal.ΒΆ
Unlinked mentions (12)
- Agent rules for rat-stack (AGENTS.md) β ts, so MCP is a prerequisite for code mode.
- Capabilities β MCP returns it as a tool error.ΒΆ
- HATEOAS β Next-action links in capability and MCP responses remain a goal.
- Hosted agent interfaces β The MCP execute tool runs the same job.ΒΆ
- Interest signup β MCP request tracing is disabled in the protocol implementation for modern and legacy protocols.
- keep-or-cut β catalog, OpenAPI, MCP, and code-mode cases from apps/cli/test/cli.e2e.test.tsΒΆ
- learn β They use the same local store as stdio MCP.
- Learn mode presents concepts at useful depths β Public HTTP and MCP calls operate on supplied progress.
- One program can replace several tool calls β The MCP execute tool.ΒΆ
- One schema, three surfaces β CLI and MCP do not consume the generated OpenAPI JSON.ΒΆ
- Purpose and boundaries of rat-stack (VISION.md) β Coming: extract the existing agent front door in apps/site (REST, MCP, A2A, code-mode sandbox, rate limits) into a cartridge that a project provides instead of inherits.
- Schema projections: 2026-09-18 history β Integrates existing tools: ingests MCP servers, OpenAPI, GraphQL, and Google Discovery into one catalog.