Platform MCP

Use Agent Platform's remote MCP endpoint to manage agents, skills, automations, Work Queue, and webhook sources from chat clients.

Endpoint

The management MCP endpoint is the platform API /mcp route. Select tenant context with the tenant query string or X-DRJ-Tenant header.

Remote MCP endpoint
POST https://agent-platform-api.external.drj.ninja/mcp?tenant=drj
Authorization: Bearer <oauth-access-token>
Content-Type: application/json
FieldTypeDescription
mcp:platform.readscopeAllows read tools such as list_agents, list_skills, list_automations, and list_audit_logs.
mcp:platform.writescopeAllows write tools when the token also resolves to a tenant admin role.
mcp:platformscopeLegacy rollout scope accepted as read and write.
Write tools require both a write-capable MCP scope and a tenant admin role. Machine clients are not admins just because their subject matches their client ID.

Tool Surface

Tools are grouped by data model area. All writes go through the same API handler used by the dashboard and provisioning clients.

FieldTypeDescription
Agentsread/writelist_agents, get_agent, create_agent, update_agent, delete_agent, reset_daemon_context
Skillsread/writelist_skills, get_skill, create_skill, update_skill, delete_skill, list_agent_skill_assignments, assign_skill_to_agent, remove_skill_from_agent, test_mcp_skill_connection
Automationread/writeautomations, automation runs, trigger CRUD, tick CRUD, and webhook source CRUD
Runtimeread/writeWork Queue item listing/resolution, compatibility approval and escalation tools, audit logs, escalation policies, and tenant branding
Schedule trigger and tick tools create, update, pause, and delete Temporal schedules through the platform API path. Omitted fields on MCP updates preserve existing values.

Codex

~/.codex/config.toml
[mcp_servers.drj_agent_platform]
url = "https://agent-platform-api.external.drj.ninja/mcp?tenant=drj"
scopes = ["mcp:platform.read", "mcp:platform.write"]
oauth_resource = "https://agent-platform-api.external.drj.ninja/mcp"
bearer_token_env_var = "DRJ_AGENT_PLATFORM_MCP_TOKEN"
default_tools_approval_mode = "prompt"

[mcp_servers.drj_agent_platform.tools]
allow = ["list_agents", "get_agent", "list_skills", "create_agent", "update_agent"]

Claude Code

HTTP transport
claude mcp add --transport http drj-agent-platform \
  "https://agent-platform-api.external.drj.ninja/mcp?tenant=drj"

Claude Code discovers OAuth from the endpoint's WWW-Authenticate challenge and protected resource metadata. Keep destructive tools disabled or subject to client-side confirmation unless the workflow is explicitly approved.

OpenAI Responses

MCP tool
{
  "type": "mcp",
  "server_label": "drj_agent_platform",
  "server_url": "https://agent-platform-api.external.drj.ninja/mcp?tenant=drj",
  "authorization": "<oauth-access-token>",
  "allowed_tools": ["list_agents", "get_agent", "list_skills"],
  "require_approval": "always"
}
Use allowed_tools and require_approval to keep model-driven management changes reviewable. Grant write tools only to sessions that need them.