conductorv2

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.read

Read the contents of a file

{ path: string }
filesystem.writerequires approval

Write content to a file (creates if not exists)

{ path: string, content: string }
filesystem.list

List directory contents

{ path: string, recursive?: boolean }
filesystem.search

Search files by glob pattern or content

{ path: string, pattern: string }
filesystem.deleterequires approval

Delete a file or directory

{ path: string }
shell.execrequires approval

Execute a shell command (requires approval or allowlist match)

{ command: string, args?: string[], cwd?: string }
git.status

Get repository status (staged, unstaged, untracked)

{ path?: string }
git.commitrequires approval

Stage files and create a commit

{ message: string, files?: string[], all?: boolean }
git.diff

Show unstaged or staged diff

{ path?: string, staged?: boolean }
git.log

Show commit history

{ path?: string, limit?: number }
web.fetch

Fetch a URL and return parsed content

{ url: string, format?: 'text' | 'markdown' | 'json' }
db.query

Execute a SQL query

{ query: string, params?: unknown[], database?: string }
ai.chat

Send a message to an AI provider

{ message: string, provider?: string, model?: string }

HTTP Endpoints

Available when running with --transport http. All endpoints return JSON.

GET/healthServer health and uptime
GET/metricsPrometheus-compatible metrics
GET/auditPaginated audit log entries
GET/toolsList all registered tools
POST/tools/:nameCall a tool via HTTP
POST/hooks/:nameIncoming webhook endpoint
GET/sseServer-sent events stream
GET/pluginsList installed plugins and status
GET/openapi.jsonOpenAPI 3.0 spec

Response 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