scribe — Claude Code MCP server: markdown docs from your code
Turns source files into markdown documentation without leaving the agent chat. Handles a single file or a batch of up to 20.
claude mcp add --env WRITULOS_API_KEY=<WRITULOS_API_KEY> --env WRITULOS_OUTPUT_DIR=<WRITULOS_OUTPUT_DIR> --env WRITULOS_PROJECT_ROOT=<WRITULOS_PROJECT_ROOT> --env WRITULOS_API_URL=<WRITULOS_API_URL> --transport stdio scribe -- npx -y writulos-mcpWhat scribe does
scribe is an MCP server from writulos that writes markdown descriptions of your code. Two tools ship with it: generate_docs takes one file, generate_docs_batch accepts an array of up to 20 files per request. You pass the code, an optional filename and optional context; the result comes back in the chat.
There is nothing to build. The server runs through npx writulos-mcp. In Cursor you add it to .cursor/mcp.json; Claude, Codex and Gemini CLI take it via claude mcp add, codex mcp add or gemini mcp add. You need a WRITULOS_API_KEY. Without one the server still starts, but every tool call replies with instructions on getting a key. Node.js 18+ is required.
Every documented file spends one generation from your Writulos plan's monthly allowance, shared with the dashboard and the GitHub Action. Once it runs out, the tools tell you and give the reset date. The server itself only writes a run log to docs/writulos.log; point WRITULOS_OUTPUT_DIR elsewhere to move it.
What it helps with
- document an unfamiliar module before editing it
- produce markdown reference for a batch of files in one pass
- rebuild docs in a project that never had them
- write an API description for a new teammate
- draft a README from existing source
Example prompts for the agent
- Document
auth.jswith scribe - Run
generate_docs_batchover every file insrc/api - Generate markdown for
parser.py, context: it parses log files
How to install scribe
Platform CLI
claude mcp add --env WRITULOS_API_KEY=<WRITULOS_API_KEY> --env WRITULOS_OUTPUT_DIR=<WRITULOS_OUTPUT_DIR> --env WRITULOS_PROJECT_ROOT=<WRITULOS_PROJECT_ROOT> --env WRITULOS_API_URL=<WRITULOS_API_URL> --transport stdio scribe -- npx -y writulos-mcpReplace <…> with your own values
Platform CLI
codex mcp add scribe --env WRITULOS_API_KEY=<WRITULOS_API_KEY> --env WRITULOS_OUTPUT_DIR=<WRITULOS_OUTPUT_DIR> --env WRITULOS_PROJECT_ROOT=<WRITULOS_PROJECT_ROOT> --env WRITULOS_API_URL=<WRITULOS_API_URL> -- npx -y writulos-mcpReplace <…> with your own values
Config file
{
"mcpServers": {
"scribe": {
"command": "npx",
"args": [
"-y",
"writulos-mcp"
],
"env": {
"WRITULOS_API_KEY": "<WRITULOS_API_KEY>",
"WRITULOS_OUTPUT_DIR": "<WRITULOS_OUTPUT_DIR>",
"WRITULOS_PROJECT_ROOT": "<WRITULOS_PROJECT_ROOT>",
"WRITULOS_API_URL": "<WRITULOS_API_URL>"
}
}
}
}Replace <…> with your own values
Config file
{
"servers": {
"scribe": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"writulos-mcp"
],
"env": {
"WRITULOS_API_KEY": "<WRITULOS_API_KEY>",
"WRITULOS_OUTPUT_DIR": "<WRITULOS_OUTPUT_DIR>",
"WRITULOS_PROJECT_ROOT": "<WRITULOS_PROJECT_ROOT>",
"WRITULOS_API_URL": "<WRITULOS_API_URL>"
}
}
}
}Replace <…> with your own values
Platform CLI
gemini mcp add -e WRITULOS_API_KEY=<WRITULOS_API_KEY> -e WRITULOS_OUTPUT_DIR=<WRITULOS_OUTPUT_DIR> -e WRITULOS_PROJECT_ROOT=<WRITULOS_PROJECT_ROOT> -e WRITULOS_API_URL=<WRITULOS_API_URL> scribe npx -y writulos-mcpReplace <…> with your own values
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about scribe
How do I install scribe in Claude Code?
Run claude mcp add scribe -e WRITULOS_API_KEY=<WRITULOS_API_KEY> -- npx -y writulos-mcp, replacing the placeholder with your own key.
What does scribe do?
It generates markdown documentation from source code. Two tools cover a single file and a batch of up to 20 files.
What do I need to run scribe?
Node.js 18+ and a Writulos Scribe API key. Without the key the server starts anyway, and each tool call returns a pointer to where you can create one.