Setting up SCHMA with Claude Desktop via MCP
How to connect Claude Desktop to your SCHMA workspace using the Model Context Protocol to query schemas, inspect content, and draft entries.
Before you begin
- A SCHMA workspace on the Pro plan (MCP tool integration is a Pro feature)
- Claude Desktop app installed (macOS or Windows)
- Node.js 18+ and npm installed locally
- A valid SCHMA API key with Delivery or Management scopes
Anthropic's Claude Desktop application provides native support for the Model Context Protocol (MCP). By connecting Claude Desktop to @schmadev/mcp-server, Claude can interact directly with your SCHMA workspace to analyze content models, retrieve live entry data, search entries semantically, and generate new content structures.
Claude Desktop and SCHMA MCP overview
Once configured, Claude Desktop launches the SCHMA MCP server as a local child process over standard I/O (stdio). During conversations, Claude automatically identifies when your prompt requires information from your CMS and invokes the appropriate MCP tool (such as list_content_types or get_schema) to provide grounded, real-time answers.
Finding your Claude Desktop configuration file
Claude Desktop stores its MCP server definitions in a single JSON configuration file named claude_desktop_config.json. The file location depends on your operating system:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json(typicallyC:\Users\<Username>\AppData\Roaming\Claude\claude_desktop_config.json)
Adding SCHMA to claude_desktop_config.json
Open claude_desktop_config.json in your preferred text editor and add the schma server block under the top-level mcpServers object:
{
"mcpServers": {
"schma": {
"command": "npx",
"args": ["-y", "@schmadev/mcp-server"],
"env": {
"SCHMA_API_URL": "https://api.schma.dev",
"SCHMA_API_KEY": "schma_live_your_actual_api_key_here",
"SCHMA_TENANT_SLUG": "your-workspace-slug"
}
}
}
}If claude_desktop_config.json already contains other MCP servers, insert "schma": { ... } alongside them inside the existing "mcpServers" dictionary.
Restarting Claude and verifying connected tools
After saving the configuration file:
- Completely quit and restart Claude Desktop: Claude only reads
claude_desktop_config.jsonduring application startup. Quitting and relaunching forces Claude to spawn the new MCP process. - Check the hammer/tool icon: Look at the bottom right corner of Claude's chat input field. You should see a hammer icon indicating that active MCP tools are registered.
- Ask Claude to inspect your project: Type *'List all content types in my SCHMA workspace'*. Claude will invoke
list_content_typesand summarize your models.
Diagnosing process startup and auth errors
If the hammer icon does not appear or tool calls fail, consult these verified diagnostic steps:
- GUI Path issue (macOS): On macOS, applications launched from the Finder or Dock may not inherit custom PATH variables defined in
.zshrcor.bash_profile. If Claude cannot findnpx, specify the absolute path tonpxin thecommandfield (e.g./usr/local/bin/npxor/opt/homebrew/bin/npx). Find your exact path by runningwhich npxin your terminal. - JSON syntax errors: Ensure your
claude_desktop_config.jsonis strictly valid JSON without trailing commas, single quotes, or comments. - Inspect Claude Desktop logs: Claude logs MCP process output. On macOS, inspect
~/Library/Logs/Claude/mcp*.log. On Windows, inspect%APPDATA%\Claude\logs\mcp*.log. These logs display stdout/stderr from@schmadev/mcp-serverduring startup. - Authentication and Quota (401/403): If tool calls return an error message, verify that your API key is active in SCHMA Studio under Settings > API Keys and that your workspace is on the Pro tier.