Keystone

pro.keystone-corePublished by keystone-core.proOfficial publisherv1.0.0Updated Nov 11, 2026

C4 architecture model of your system, built from code by your AI and read back as focused context.

VerifiedStreamable HTTPWeb executableKnowledge & MemoryDeveloper Tools

Overview

AI-generated overview

Keystone keeps a C4 architecture model of your software that an AI assistant builds from code and reads back as focused context.

What you can do
  • Search, read and traverse the architecture model: elements and tables by name, whole model or one module, dependencies and call paths
  • Analyze impact of a change and fetch only what changed since a model version
  • Find architecture antipatterns and report validation or antipattern findings against the code
  • Propose model changes as branches for human review, and run prompts to build the architecture, describe containers or databases, trace scenarios, record decisions and sync with commits
  • Export to PNG, SVG, Markdown with Mermaid, Structurizr DSL and Obsidian notes, and import Structurizr workspaces
When to use it
Useful when an assistant works on a codebase whose architecture is documented in Keystone and needs targeted context instead of the whole model, or when you want the diagram kept in step with code changes and reviewed as branches.
Requirements
Remote Streamable HTTP endpoint with a bearer token in the Authorization header, created in a project under AI assistant, Connection. Clients that only support local stdio servers need the mcp-remote bridge and Node.js. A Keystone account and project are required; the hosted service has a free plan with limits.
Before you install
The token grants access according to its owner's project role, so a viewer's token only reads. Model changes are submitted as proposals that become branches and need human review before merging. The README states source code is not sent to Keystone, but the model and code-derived details are stored on the hosted service; self-hosting is offered for companies.

Installation

In SourceWeft

  1. Open Keystone in the dashboard and add it to a workspace.
  2. Connect Authorization token credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/pro.keystone-core%2Fkeystone/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "keystone": {
      "type": "http",
      "url": "https://keystone-core.pro/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

Keystone

Understand your system before you change it.

Keystone keeps a C4 model of your software: systems, services, components with their public API, databases down to tables and columns, scenarios and architecture decisions. Your AI coding assistant builds the model from the code in your environment, keeps it in step with the code and reads it back over MCP as context for its next task. Every change arrives as a branch that your team reviews.

This repository holds no source code: it is the public home of Keystone for its MCP server, docs links and feedback.

[The Keystone editor: a service with its components and labelled relationships]

What it does

  • Builds the architecture from code. Your AI reads the repository where it already works and proposes the model: context, containers, components, ER diagrams from migrations. Keystone never receives your source code.
  • Gives the agent the part it needs. The agent asks for one module, what depends on an element, the path between two elements or only what changed since last time, instead of the whole model.
  • Keeps the model current. After code changes the AI checks the diagram against the code and sends a proposal, by hand or from CI: the AI assistant generates the job for GitHub Actions or GitLab CI.
  • You stay the reviewer. Every AI proposal arrives as a branch: open it, correct it, merge it or reject it. Merges are three-way, field by field.
  • More than boxes. Scenarios, architecture decisions (ADR) bound to elements, impact analysis, antipattern review with remediation plans, comments, live co-editing, roles and access, system design interview practice.
  • No lock-in. Export to PNG, SVG, Markdown with Mermaid, Structurizr DSL and Obsidian notes; import a Structurizr workspace (JSON or DSL).

On a question about one module, the module slice took 68–77% fewer input tokens than sending the whole model, with the same facts in the answer. This compares a slice with the whole model, not a whole coding task (method and limits).

Claude Code plugin

Install Keystone as a plugin; Claude Code asks for your token once and keeps it in secure storage:

/plugin install keystone-architecture --marketplace runafterasun/keystone-core

Connect your AI

  1. Sign in at https://keystone-core.pro and open a project → AI assistant → Connection → Create token.
  2. Add the MCP server in the folder with the code of that project, or install the plugin above.

Claude Code

bash
claude mcp add --scope local --transport http keystone https://keystone-core.pro/mcp --header "Authorization: Bearer ks_…"

Cursor (.cursor/mcp.json)

json
{ "mcpServers": { "keystone": { "url": "https://keystone-core.pro/mcp", "headers": { "Authorization": "Bearer ks_…" } } } }

VS Code with GitHub Copilot (.vscode/mcp.json)

json
{ "servers": { "keystone": { "type": "http", "url": "https://keystone-core.pro/mcp", "headers": { "Authorization": "Bearer ks_…" } } } }

Gemini CLI (.gemini/settings.json)

json
{ "mcpServers": { "keystone": { "httpUrl": "https://keystone-core.pro/mcp", "headers": { "Authorization": "Bearer ks_…" } } } }

Windsurf (~/.codeium/windsurf/mcp_config.json)

json
{ "mcpServers": { "keystone": { "serverUrl": "https://keystone-core.pro/mcp", "headers": { "Authorization": "Bearer ks_…" } } } }

Clients with local (stdio) servers only, through the mcp-remote bridge (needs Node.js):

json
{ "mcpServers": { "keystone": { "command": "npx", "args": ["-y", "mcp-remote", "https://keystone-core.pro/mcp", "--header", "Authorization:${AUTH_HEADER}"], "env": { "AUTH_HEADER": "Bearer ks_…" } } } }

A token follows the current role of its owner in the project: a viewer's token only reads. More in the guide.

Prompts

Ready commands the server offers to your client, for example in Claude Code /mcp__keystone__build_architecture <project link>:

PromptWhat it does
build_architectureContext and containers from the code
build_architecture__fullThe whole architecture: also components and tables
describe_containerBreak a container into components with their public API
describe_databaseDraw the ER diagram of a database from its migrations
describe_scenarioTrace a scenario through the architecture
record_decision, import_decisionsRecord an architecture decision, import existing ADRs
validate_architectureCheck the diagram against the code
syncBring the diagram up to date with the commits since the last sync
analyze_impactWhat a change of an element affects, with paths and reasons
review_antipatterns, plan_remediationFind architecture antipatterns, plan their fixes in stages
system_design_interviewPractise a system design interview on a real diagram

Tools

Reading tools return the part of the model a task needs:

ToolWhat it returns
search_architectureElements and tables by name, role or module, with IDs and ready reads for the hits
get_architectureThe whole model as a short map, one module or chosen elements in full
traverse_architectureWhat depends on an element and what it depends on, to a chosen depth
analyze_impactWhat a change of an element or table affects, with reasons and paths
find_architecture_pathThe chain of calls and data access between two elements
get_architecture_deltaOnly what changed since a version of the model
find_antipattern_candidatesShared databases, cycles of synchronous calls, overloaded services

Changes go through propose_changes only: a proposal becomes a branch that a person reviews and merges. Checks against the code and antipattern findings are reported with report_validation and report_antipatterns.

Plans and hosting

  • keystone-core.pro has a free plan with limits.
  • Self-hosted inside your own network for companies: contact us.

Feedback

Questions, ideas and bug reports are welcome as issues.

Source: README.md at commit 5a406f2

Tools

0
This server asks for a credential such as an API key, so SourceWeft could not read its tools without one and has not indexed them.

Version history

1
  1. v1.0.0LatestNov 11, 2026

Score

75% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.