MCP server
Bash as an MCP server, for your editor or your own agents.
RoutesOpen one for every field it takes and answers.
POST/v1/mcpOne MCP endpoint (streamable HTTP): the card's lines as tools, each with an optional user (with none, your company's own Bash).
Keys and secrets stay with people.
Answers 200
# Connect any MCP client. Point it at this URL with your key. Over plain HTTP the endpoint speaks JSON-RPC,# and it needs both types in the Accept header. tools/list shows the tools it offers.curl "$VESTRA_BASE_URL/v1/mcp" \ -H "Authorization: Bearer $VESTRA_API_KEY" \ -H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -d '{ "jsonrpc": "2.0", "id": 1, "method": "tools/list" }' # Connect an agent that speaks A2A. Each deployment has an agent card, and reading it needs no key.curl "$VESTRA_BASE_URL/v1/a2a/dep_4kq/.well-known/agent-card.json"{ "mcpServers": { "vestra": { "type": "http", "url": "https://api-staging.vestra.ai/v1/mcp", "headers": { "Authorization": "Bearer vk_test_..." } } }}No sample in your language for this route, so here it is over HTTP.
# Connect any MCP client. Point it at this URL with your key. Over plain HTTP the endpoint speaks JSON-RPC,# and it needs both types in the Accept header. tools/list shows the tools it offers.curl "$VESTRA_BASE_URL/v1/mcp" \ -H "Authorization: Bearer $VESTRA_API_KEY" \ -H "Content-Type: application/json" \ -H "Accept: application/json, text/event-stream" \ -d '{ "jsonrpc": "2.0", "id": 1, "method": "tools/list" }' # Connect an agent that speaks A2A. Each deployment has an agent card, and reading it needs no key.curl "$VESTRA_BASE_URL/v1/a2a/dep_4kq/.well-known/agent-card.json"