Reference
API Reference
Complete tool and HTTP endpoint reference.
MCP Tools
Tools are automatically discovered by MCP clients via the tools/list endpoint. Tools marked with an approval badge require user confirmation before execution.
filesystem.readRead the contents of a file
{ path: string }filesystem.writerequires approvalWrite content to a file (creates if not exists)
{ path: string, content: string }filesystem.listList directory contents
{ path: string, recursive?: boolean }filesystem.searchSearch files by glob pattern or content
{ path: string, pattern: string }filesystem.deleterequires approvalDelete a file or directory
{ path: string }shell.execrequires approvalExecute a shell command (requires approval or allowlist match)
{ command: string, args?: string[], cwd?: string }git.statusGet repository status (staged, unstaged, untracked)
{ path?: string }git.commitrequires approvalStage files and create a commit
{ message: string, files?: string[], all?: boolean }git.diffShow unstaged or staged diff
{ path?: string, staged?: boolean }git.logShow commit history
{ path?: string, limit?: number }web.fetchFetch a URL and return parsed content
{ url: string, format?: 'text' | 'markdown' | 'json' }db.queryExecute a SQL query
{ query: string, params?: unknown[], database?: string }ai.chatSend a message to an AI provider
{ message: string, provider?: string, model?: string }HTTP Endpoints
Available when running with --transport http. All endpoints return JSON.
/healthServer health and uptime/metricsPrometheus-compatible metrics/auditPaginated audit log entries/toolsList all registered tools/tools/:nameCall a tool via HTTP/hooks/:nameIncoming webhook endpoint/sseServer-sent events stream/pluginsList installed plugins and status/openapi.jsonOpenAPI 3.0 specResponse Format
All MCP tool responses follow the CallToolResult format specified by the MCP protocol.
// Successful tool response
{
"content": [
{ "type": "text", "text": "Result content here" }
],
"isError": false
}
// Error response
{
"content": [
{ "type": "text", "text": "Error: permission denied" }
],
"isError": true
}
// Multi-content response
{
"content": [
{ "type": "text", "text": "File listing:" },
{ "type": "text", "text": "src/
index.ts
utils.ts" }
],
"isError": false
}Rate Limiting
HTTP endpoints are protected by configurable rate limits. Defaults:
/tools/*100 req/min/hooks/*60 req/min/metrics, /healthunlimited