MCP Integration Overview
The Model Context Protocol (MCP) is the foundation of APM's architecture—all interactions happen through MCP, making APM a universal hub for AI-augmented workflows.
What is MCP?
MCP is an open protocol that enables:
- 🔌 Tool Calling - AI agents can execute functions
- 📊 Context Sharing - Systems share data seamlessly
- 🔄 Event Broadcasting - Real-time notifications of changes
- 🛠️ Resource Access - Structured data exposure
APM's Dual Role
APM as MCP Client
APM as MCP Server
APM as MCP Client
Connect to external MCP servers to:
- Execute tools from AI agents and services
- Pull in external data and capabilities
- Orchestrate complex multi-tool workflows
APM as MCP Server
APM exposes a powerful MCP server that allows:
- External tools to create/update tasks and actions
- AI agents to query project data
- Workflow automation from any MCP client
- Event subscriptions for real-time updates
Available APM Tools
createTask
Create a new task in a project
Parameters:
project_id- The project to create the task intitle- Task title (required)description- Detailed task descriptionassignee_id- User or agent to assign toimplementation_plan- Step-by-step plan for completion
updateTask
Update an existing task
Parameters:
task_id- The task to update (required)status- New status: unstarted, in_progress, completeassignee_id- Reassign to different user/agenttitle- Update the task titledescription- Update the description
createAction
Create an approval/review action
Parameters:
type- Action type (e.g., implementation_plan, deployment_approval)title- Action title (required)priority- Priority level: low, medium, high, criticalassignee_id- Who should process this actionrequester_id- Who is requesting the actionpayload- Custom data for the action
updateAction
Process an action (approve/reject)
Parameters:
action_id- The action to update (required)status- New status: approved, rejected, in_progressresolution_notes- Explanation of the decisionassignee_id- Reassign if needed
getTasks
Query tasks with filters
Parameters:
project_id- Filter by projectassignee_id- Filter by assigneestatus- Filter by status (array)created_after- ISO timestamp for date filteringlimit- Maximum results to return
getActions
Query actions with filters
Parameters:
assignee_id- Filter by assigneestatus- Filter by status (array)priority- Filter by priority levelproject_id- Filter by projectinclude_resolved- Include completed actions (default: false)
getProjects
List available projects
Parameters:
include_archived- Include archived projectsname_contains- Filter by name substring
Connection Methods
1. Stdio (Standard I/O)
For local command-line tools and scripts:
{
"mcpServers": {
"my-tool": {
"command": "ruby",
"args": ["my_mcp_server.rb"]
}
}
}
2. Network Transport (Coming soon)
3. APM CLI Bridge
Use the provided CLI tool to connect stdio-based MCP clients to APM. You can visit the MCP tab of the main menu to get your specific path but it will most likely be:
# Auto-discover and connect
/Applications/APM.app/Contents/MacOS/APM-MCP-Server
Event System
APM broadcasts real-time events that MCP clients can subscribe to:
Task Events
apm_task_created- New task added
Coming Soon:
apm_task_updated- Task modifiedapm_task_completed- Task finishedapm_task_assigned- Task assignment changedapm_task_started- Task work begun
Action Events (Coming Soon)
apm_action_created- New action needs attentionapm_action_updated- Action status changedapm_action_approved- Action approvedapm_action_rejected- Action rejected
Project Events (Coming Soon)
apm_project_created- New project createdapm_project_updated- Project settings changedapm_project_member_added- Team member joinedapm_project_member_removed- Team member left
Subscribing to Events
# Todo
Security & Permissions
- Local Only: APM's MCP server only accepts local connections
Getting Started
Next Steps
- Connect an MCP server - Add external tools
- Use APM as MCP server - Enable APM's server
- Build your first integration - Create custom automation
