About citadel-mcp
Citadel MCP serves curated, stack-specific documentation to AI coding agents through a Code Mode server. Its small modular stack packages are designed to be forked and tailored to the frameworks and internal libraries a team uses.
Key features
- 01Retrieve stack documentation as Markdown
- 02Search documentation across stacks by relevance
- 03Fetch documentation through a single docs tool
- 04Add or tailor stack-specific documentation modules
Use cases
- 01Look up framework guidance while coding
- 02Search documentation across a project's stacks
- 03Package internal library docs for coding agents
MCP support
Citadel exposes a single `docs` tool to MCP clients, with stack indexes, document retrieval, and cross-stack search available in its sandbox SDK. It also serves agent usage guidance as an MCP resource.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
Tools
1Saved tool list · updated 3w ago
| Parameter | Type | Required | Description |
|---|---|---|---|
| code | string | Yes | JavaScript async arrow function to execute |
Details
From the project READMECitadel MCP
A Code Mode MCP server that gives AI coding agents curated, per-stack documentation as typed tools.
Citadel is built to be forked and tailored. The hosted package ships with a small starter set of stacks, but the real value comes from packaging the docs your agents actually need. Each stack is a tiny module — adding one is mostly mechanical.
Getting Started
Requirements
- Node.js v20.19 or a newer latest maintenance LTS version
- npm or pnpm
Install with add-mcp
Install the MCP server for all your coding agents:
npx add-mcp citadel-mcp@latest
Add -y to skip the confirmation prompt and install to all detected agents already in use in the project directory. Add -g to install globally across all projects.
Manual installation
Add the following config to your MCP client:
{
"mcpServers": {
"citadel": {
"command": "npx",
"args": ["-y", "citadel-mcp@latest"]
}
}
}
Note
Using
citadel-mcp@latestensures that your MCP client will always use the latest version of the Citadel MCP server.
MCP Client Configuration
Amp
Using Amp CLI:
amp mcp add citadel -- npx citadel-mcp@latest
Or configure manually:
Follow Amp's MCP documentation and apply the standard configuration shown above.
Claude Code
Use the Claude Code CLI to add the Citadel MCP server:
claude mcp add -s user citadel -- npx -y citadel-mcp@latest
Use -s project instead of -s user to scope the install to the current project. Restart Claude Code, then verify with claude mcp list. A working server advertises a single tool named docs.
Codex
Using Codex CLI:
codex mcp add citadel -- npx citadel-mcp@latest
Or configure manually:
Follow the MCP setup guide with the standard configuration format:
- Command:
npx - Arguments:
-y, citadel-mcp@latest
Cursor
Go to Cursor Settings -> MCP -> New MCP Server. Use the JSON config provided above.
Gemini
Using Gemini CLI:
Project-wide installation:
gemini mcp add citadel npx citadel-mcp@latest
Global installation:
gemini mcp add -s user citadel npx citadel-mcp@latest
VS Code / Copilot
Using VS Code CLI:
code --add-mcp '{"name":"citadel","command":"npx","args":["-y","citadel-mcp@latest"]}'
Or configure manually:
Follow the official VS Code MCP server setup guide and add the Citadel server through VS Code settings.
Warp
Navigate to Settings | AI | Manage MCP Servers and select + Add to register a new MCP server with the following configuration:
- Name:
citadel - Command:
npx - Arguments:
-y, citadel-mcp@latest
What you get out of the box
The hosted package includes a starter set of stacks so you can try it immediately:
- Next.js (App Router, Next.js 16)
- React
- Turborepo
- Supabase guides
This list is intentionally small. For the best results, fork this repo and add the stacks your agents care about — your internal libraries, the framework version you actually use, or any docs site that publishes machine-readable markdown. See docs/adding-a-docs-tool.md.
How it works
Citadel is a Code Mode server: instead of advertising one tool per docs source, it advertises a single docs tool. The agent writes one async () => { ... } per turn that calls codemode.<stack>_docs(...) and codemode.<stack>_index() directly, and the server runs that code in a local Node sandbox. N doc fetches collapse into one round-trip.
Each stack contributes two callable tools to the sandbox SDK:
<stack>_index()— returns the doc index so the agent can pick a valid path<stack>_docs({ path })— fetches that specific doc as markdown
Citadel also exposes a cross-stack ranked search: codemode.docs_search({ query, stacks?, fetch: true }) returns BM25-ranked matches with markdown content attached in a single call.
Documentation
- Using Citadel as an AI agent — playbook for the
docstool, served at runtime as MCP resourcecitadel://docs/agent-usage. SDK reference, parallel fan-out, error handling, worked examples. - Adding a docs tool — package a new stack as
<stack>_index+<stack>_docs.
Local Development
To run the MCP server locally for development:
-
Clone the repository.
-
Install and build:
pnpm install pnpm build -
Configure your MCP client to use the local version:
{ "mcpServers": { "citadel-dev": { "command": "node", "args": ["/absolute/path/to/citadel-mcp/dist/index.js"] } } }Or with the Claude Code CLI:
claude mcp add -s user citadel-dev -- node /absolute/path/to/citadel-mcp/dist/index.js
For development with auto-reload, point the MCP client at tsx and the src entry instead:
claude mcp add -s user citadel-dev -- npx tsx /absolute/path/to/citadel-mcp/src/index.ts
License
MIT
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.