Skip to Content
We are live but in Staging 🎉

MCP Tools — API Reference

Package: dodil.ignite.v1 · Service: ComputeService

An app can be published as an MCP tool so AI agents can discover and call it. Opt in by setting mcp_enabled = true on the app (via CreateApp or UpdateAppConfig, or dodil ignite app create --mcp-enabled) — together with a clear description and an input_schema, which become the tool’s description and parameter schema. After the next publish, the app surfaces as a tool named `ignite_{org}_{name}` (typically within ~30 seconds).

These RPCs read those tool definitions. They are API-only — there is no ignite mcp CLI command.

gRPC reaches every method at dodil.ignite.v1.ComputeService/<Method> on $IGNITE_GRPC; the HTTP gateway mirrors each one. See Conventions → Using gRPC for setup.

RPCHTTP
GetMcpToolDefinitionGET /v1/ignite/app/{organization_name}/{app_name}/mcp
ListMcpToolsGET /v1/ignite/app/{organization_name}/mcp/tools

McpToolDefinition

message McpToolDefinition { string name = 1; // "ignite_{org}_{name}" string description = 2; // from the app's description string input_schema = 3; // JSON Schema for input (the tool's parameters) string output_schema = 4; // JSON Schema for output string app_id = 5; // "org/name" uint32 version = 6; // active version string runtime = 7; // "python" | "rust-native" | ... }

GetMcpToolDefinition

The MCP tool definition for one app — name, description, and input/output schemas as an agent sees them.

Request

curl -sS "https://api.dev.dodil.io/v1/ignite/app/acme-corp/search-knowledge-base/mcp" \ -H "Authorization: Bearer $DODIL_TOKEN"

Response

{ "tool": { "name": "ignite_acme-corp_search-knowledge-base", "description": "Searches the knowledge base and returns relevant results", "inputSchema": "{\"type\":\"object\",\"properties\":{\"query\":{\"type\":\"string\"}},\"required\":[\"query\"]}", "outputSchema": "{\"type\":\"object\",\"properties\":{\"results\":{\"type\":\"array\"}}}", "appId": "acme-corp/search-knowledge-base", "version": 3, "runtime": "python" } }

A 404 here usually means the app isn’t mcp_enabled, or it has no published version yet. Set mcp_enabled + a description + input_schema, then publish.

ListMcpTools

All MCP-enabled apps in an org, as tool definitions.

Request

curl -sS "https://api.dev.dodil.io/v1/ignite/app/acme-corp/mcp/tools" \ -H "Authorization: Bearer $DODIL_TOKEN"

Response

ListMcpToolsResponse { repeated McpToolDefinition tools = 1; } — one McpToolDefinition per MCP-enabled app.


See also