MCP server
Connect a client
Add the Sigil MCP server to Claude Code, Claude Desktop, Cursor, VS Code or any other MCP client with one URL and your API key.
Every client needs the same two things: the server's URL, https://api.signwithsigil.com/mcp, and an Authorization header with your API key. Create a key for the client first, on the dashboard's API page.
Claude Code
Add it with one command:
claude mcp add --transport http sigil https://api.signwithsigil.com/mcp \
--header "Authorization: Bearer $SIGIL_API_KEY"To share the setup with a project without committing the key, put it in the project's .mcp.json and let each person supply SIGIL_API_KEY from their environment:
{
"mcpServers": {
"sigil": {
"type": "http",
"url": "https://api.signwithsigil.com/mcp",
"headers": { "Authorization": "Bearer ${SIGIL_API_KEY}" }
}
}
}Run /mcp inside Claude Code to check that sigil is connected and see its tools.
Claude Desktop
Claude Desktop's configuration file starts local servers, so it reaches a remote server with custom headers through the mcp-remote bridge (it needs Node.js). Open Settings → Developer → Edit Config and add:
{
"mcpServers": {
"sigil": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://api.signwithsigil.com/mcp", "--header", "Authorization:${SIGIL_AUTH}"],
"env": { "SIGIL_AUTH": "Bearer sgk_…" }
}
}
}Restart Claude Desktop. The header is passed through an environment variable, without a space after the colon, because some clients split arguments on spaces.
Cursor
Add it to ~/.cursor/mcp.json (every project) or .cursor/mcp.json (one project):
{
"mcpServers": {
"sigil": {
"url": "https://api.signwithsigil.com/mcp",
"headers": { "Authorization": "Bearer sgk_…" }
}
}
}VS Code
Add it to .vscode/mcp.json. With an input, VS Code asks for the key once and stores it securely, so it is never written in the file:
{
"inputs": [
{ "type": "promptString", "id": "sigil-key", "description": "Sigil API key", "password": true }
],
"servers": {
"sigil": {
"type": "http",
"url": "https://api.signwithsigil.com/mcp",
"headers": { "Authorization": "Bearer ${input:sigil-key}" }
}
}
}Other clients
Any client that supports remote MCP servers over Streamable HTTP with custom headers works: give it the URL and the Authorization: Bearer sgk_… header. A client that can only start local (stdio) servers can use the same mcp-remote bridge shown for Claude Desktop.
Test the connection
The MCP Inspector lets you call each tool by hand:
npx @modelcontextprotocol/inspectorChoose the Streamable HTTP transport, enter https://api.signwithsigil.com/mcp, add the Authorization header with Bearer sgk_…, and connect. List Tools shows all ten.
Or check the key and plan with a plain request. A working setup answers the initialize call with the server's name, sigil:
curl https://api.signwithsigil.com/mcp \
-H "Authorization: Bearer $SIGIL_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"curl","version":"1.0"}}}'Troubleshooting
| Symptom | Fix |
|---|---|
401 / "Missing, unknown or revoked API key" |
The header is missing or the key is wrong. Check for a missing Bearer prefix, or a key that was revoked. |
403 / "API and MCP access is part of the Pro and Business plans" |
Upgrade the account on the Billing page. |
| The server connects but has no tools | Restart the client; most only read their MCP settings at start-up. |
| Claude Desktop shows the server as failed | Check that Node.js is installed (npx --version), then look at the MCP log in Settings → Developer. |