MCP Server
Tindra ships a built-in Model Context Protocol server. Connect any MCP-compatible AI client — Claude Desktop, Cursor, Windsurf, and others — and query issues, transactions, monitors, logs, and releases, or make changes, without leaving the tool you're already in.
Endpoint
POST https://your-hostname.tindra.sh/mcp
The server uses Streamable HTTP transport with JSON-RPC 2.0 framing.
Authentication
Pass an API token as a Bearer header:
Authorization: Bearer tindra_your_token_here
Bearer tokens are project-scoped. All read queries return data for that project only.
You can also authenticate with a session cookie if you're building a browser-based integration, but tokens are the right choice for AI clients.
See API Tokens for how to create one.
Read vs write access
Most MCP tools are read-only and work with any valid token.
Three tools perform mutations: update_issue, bulk_update_issues, and create_alert_rule. These require a writable token. When creating a token, check Allow write access to enable mutations. Read-only tokens get a 403 from any write tool.
Connecting Claude Desktop
Add an entry to your Claude Desktop config file. On macOS it lives at ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"tindra": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://your-hostname.tindra.sh/mcp",
"--header",
"Authorization:Bearer tindra_your_token_here"
]
}
}
}
Replace your-hostname.tindra.sh with your instance URL. For Tindra Managed, your hostname is yourname.tindra.sh.
Connecting Claude Code
Add the same entry to ~/.claude/settings.json under mcpServers:
{
"mcpServers": {
"tindra": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://your-hostname.tindra.sh/mcp",
"--header",
"Authorization:Bearer tindra_your_token_here"
]
}
}
}
Restart Claude Code after saving for the server to register.
Connecting Cursor
In Cursor, go to Settings > MCP and add a new server:
- Name: Tindra
- Transport: HTTP
- URL:
https://your-hostname.tindra.sh/mcp - Auth header:
Authorization: Bearer tindra_your_token_here
Available tools
Read tools
| Tool | What it returns |
|---|---|
get_overview |
Health summary: open issue count, error rate, monitor states, recent alert activity |
list_issues |
Issues with event counts, filterable by status, level, and search text |
get_issue |
Full issue detail with top stack frames |
list_transactions |
Transaction summaries sorted by P95 latency |
get_transaction |
Full span waterfall for a single transaction |
list_span_summaries |
Aggregated span data (DB, cache, job spans) across all transactions |
list_monitors |
Cron monitors with current state (ok, missed, error) |
get_monitor |
Single monitor with check-in history |
list_releases |
Releases with new and regressed issue counts |
list_alerts |
Alert rules with channels and last-fired time |
list_issue_events |
Recent occurrences (events) for a specific issue |
get_logs |
Structured log search, filterable by level, environment, and trace ID |
Write tools
Write tools require a writable token.
| Tool | What it does |
|---|---|
update_issue |
Change an issue's status (resolve, ignore, re-open) or assignee |
bulk_update_issues |
Apply a status change to multiple issues at once |
create_alert_rule |
Create a new alert rule with conditions and notification channel |
Listing available tools via curl
curl -X POST https://your-hostname.tindra.sh/mcp \
-H "Authorization: Bearer tindra_your_token_here" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}'
Self-hosted instances
The MCP server is built into the Tindra binary and enabled by default. No extra configuration is needed. The endpoint is available at POST /mcp on whatever port Tindra is listening on.