Install in code editors and agent apps
This page shows how to add Pali Canon to editors and AI agent apps that support MCP: Cursor, VS Code, Windsurf, Zed, Cline and Goose. Using Claude? See the main install guide instead.
MCP (Model Context Protocol) is the standard way AI apps connect to outside tools. Pali Canon is an MCP server: a small program the app starts in the background. Once it is connected, the app’s AI can look up and quote the real Pāli texts instead of paraphrasing from memory. See the glossary for other terms.
Before you start. Every setup below starts the server with
npx -y pali-canon-mcp. That command needs:
- Node.js 20 or newer on your computer.
npxcomes with it.- The
pali-canon-mcppackage on npm. Publishing it is tracked in #4. Until it is published, use the “without npm” setup at the end of this page.The first start downloads the package (the whole canon is included, so it is a few megabytes) and can take a minute. Later starts are quick.
All setups use the same three facts, so you can adapt them to any other MCP app:
| Setting | Value |
|---|---|
| Server name | pali-canon |
| Command | npx |
| Arguments | -y, pali-canon-mcp |
The server only reads. It never writes files or runs other programs, and it contacts only a short list of named websites (for translations and the dictionary). Most of it works offline.
Cursor
The button opens a page on cursor.com that hands over to Cursor, which asks you to confirm. If your browser does not open Cursor, paste this link into the browser’s address bar instead:
cursor://anysphere.cursor-deeplink/mcp/install?name=pali-canon&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsInBhbGktY2Fub24tbWNwIl19
By hand: create a file named mcp.json in a .cursor folder. Put it in your project (.cursor/mcp.json) to use Pali Canon in that project only, or in your home folder (~/.cursor/mcp.json, on Windows C:\Users\<you>\.cursor\mcp.json) to use it everywhere.
{
"mcpServers": {
"pali-canon": {
"type": "stdio",
"command": "npx",
"args": ["-y", "pali-canon-mcp"]
}
}
}
Then open Cursor Settings → MCP (called “Tools & MCP” in some versions) and check that pali-canon is switched on. Format: Cursor MCP docs, install links.
VS Code
MCP tools are used by GitHub Copilot’s agent mode in VS Code.
The buttons go through a vscode.dev page that opens VS Code (or VS Code Insiders), which asks you to confirm. The direct links are:
vscode:mcp/install?%7B%22name%22%3A%22pali-canon%22%2C%22type%22%3A%22stdio%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22pali-canon-mcp%22%5D%7D
vscode-insiders:mcp/install?%7B%22name%22%3A%22pali-canon%22%2C%22type%22%3A%22stdio%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22pali-canon-mcp%22%5D%7D
From a terminal:
code --add-mcp '{"name":"pali-canon","type":"stdio","command":"npx","args":["-y","pali-canon-mcp"]}'
On Windows, the button or the file method below is easier, because PowerShell and Command Prompt treat the quotation marks differently.
By hand: for one project, create .vscode/mcp.json in the project folder. For all projects, run the command MCP: Open User Configuration from the Command Palette and add the same entry there. Note that VS Code uses servers, not mcpServers:
{
"servers": {
"pali-canon": {
"type": "stdio",
"command": "npx",
"args": ["-y", "pali-canon-mcp"]
}
}
}
VS Code shows a Start button above the entry; click it, then open Copilot Chat in Agent mode and check that the Pali Canon tools are ticked in the tools list. Format: VS Code MCP configuration, install links.
Windsurf
Open the Cascade panel, click the MCPs icon (or go to Windsurf Settings), and choose View Raw Config. This opens mcp_config.json, normally at ~/.codeium/windsurf/mcp_config.json (on Windows C:\Users\<you>\.codeium\windsurf\mcp_config.json). Add:
{
"mcpServers": {
"pali-canon": {
"command": "npx",
"args": ["-y", "pali-canon-mcp"]
}
}
}
Save, then press the refresh button in the MCPs panel. Format: Windsurf MCP docs. Windsurf’s documentation now redirects to the Devin Desktop documentation, and newer versions may keep the file somewhere else; opening it from the MCPs panel always finds the right file.
Zed
Open Zed’s settings file (Zed → Settings → Open Settings, or the command zed: open settings) and add a context_servers section. If the file already has one, add only the pali-canon entry inside it.
{
"context_servers": {
"pali-canon": {
"command": "npx",
"args": ["-y", "pali-canon-mcp"],
"env": {}
}
}
}
You can also use Settings → AI → MCP Servers → Add Server → Add Local Server, which writes the same entry. Format: Zed MCP docs.
Cline
In the Cline panel, click the MCP Servers icon at the top, open the Configure tab, and click Configure MCP Servers. This opens cline_mcp_settings.json. Add:
{
"mcpServers": {
"pali-canon": {
"command": "npx",
"args": ["-y", "pali-canon-mcp"],
"disabled": false,
"autoApprove": []
}
}
}
autoApprove is left empty, so Cline asks before each use. All Pali Canon tools only read, so it is safe to add tool names there if you prefer. The Cline command-line version reads the same format from ~/.cline/data/settings/cline_mcp_settings.json. Format: Cline MCP docs.
Goose
One click (Goose Desktop): paste this link into your browser’s address bar. Goose Desktop opens and asks you to confirm.
goose://extension?cmd=npx&arg=-y&arg=pali-canon-mcp&id=pali-canon&name=Pali%20Canon&description=The%20Pali%20Canon%3A%20read%20and%20cite%20the%20Tipitaka%2C%20with%20translations%20and%20a%20Pali%20dictionary&timeout=300
Goose Desktop by hand: open the sidebar, click Extensions → Add custom extension, choose type Standard IO, name it Pali Canon, enter the command npx -y pali-canon-mcp, and click Add.
Goose command line: run goose configure, choose Add Extension → Command-line Extension, call it pali-canon, enter the command npx -y pali-canon-mcp, and accept a timeout of 300 seconds.
By hand: edit ~/.config/goose/config.yaml (on Windows %APPDATA%\Block\goose\config\config.yaml), add the entry under extensions:, and restart Goose:
extensions:
pali-canon:
type: stdio
name: pali-canon
enabled: true
cmd: npx
args: ["-y", "pali-canon-mcp"]
env_keys: []
envs: {}
timeout: 300
Format: Goose extensions guide, Goose configuration files.
Without npm (any app, today)
Download or clone this repository, then use node as the command and the full path to server/index.cjs as the only argument, in place of npx and -y pali-canon-mcp. For example, in Cursor, Windsurf or Cline:
{
"mcpServers": {
"pali-canon": {
"command": "node",
"args": ["C:/absolute/path/pali-canon-claude/server/index.cjs"]
}
}
}
Keep the server/data/ folder next to index.cjs. More examples are in docs/development.md.
Check that it works
Ask the app’s AI: “Use Pali Canon to read MN 10 with a translation and cite the PTS page.” It should call a Pali Canon tool and quote the text with its source and licence.
If nothing happens:
- “npx not found” or the server will not start. Install Node.js 20 or newer, then fully quit and restart the app so it sees the new command.
- The first start times out. The first
npxrun downloads the package. Runnpx -y pali-canon-mcponce in a terminal (stop it with Ctrl+C after a few seconds), then restart the app. - The tools do not appear. Most apps only reload MCP settings after a refresh or restart. Check that the entry is switched on in the app’s MCP settings.
For maintainers
The one-click links on this page are generated by node scripts/install-links.mjs, and a test in tests/core.test.mjs fails if this page drifts from them or if any config block stops using npx -y pali-canon-mcp. GitHub removes cursor:, vscode: and goose: links from Markdown, so the buttons use the https hand-off pages on cursor.com and vscode.dev; the raw links are shown as text for copying.