@outcomeos/mcp-server
v2.3.6
Published
OutcomeOS MCP (Model Context Protocol) Server - Connect AI assistants to OutcomeOS for task management, analytics, and workflow automation
Maintainers
Readme
OutcomeOS MCP Server
Connect AI assistants like Cursor to OutcomeOS for seamless task management, analytics, and workflow automation.
Quick Start
Get started in 30 seconds:
npx @outcomeos/mcp-server --helpWhat is This?
The OutcomeOS MCP Server is a Model Context Protocol server that connects AI assistants to OutcomeOS. It enables your AI assistant to:
- Read your tasks, outcomes, analytics, and team data
- Create and update tasks, lists, and outcomes
- Search across your productivity data with semantic AI
- Execute GraphQL queries for advanced data access
- Automate workflows with rules and check-ins
Add this to your Cursor settings and your AI assistant becomes OutcomeOS-powered! 🚀
{
"mcpServers": {
"OutcomeOS": {
"command": "npx",
"args": ["@outcomeos/mcp-server"],
"env": {
"OUTCOMEOS_API_KEY": "your_api_key_here"
}
}
}
}Features
🔧 15+ AI Tools
Create tasks, update outcomes, search with AI, execute GraphQL queries, manage workflows
📊 15+ Data Resources
Access tasks, analytics, team data, rules, check-ins, and more through your AI assistant
🚀 Advanced Capabilities
- Vector Search: Semantic content discovery across all entities
- GraphQL Integration: Type-safe queries with full schema access
- Workflow Automation: Rules engine and team check-ins
- Real-time Analytics: Performance metrics and insights
- Team Collaboration: Multi-team support with proper isolation
🎯 Enterprise Ready
- Authentication via API keys
- Team-scoped data access
- Type-safe implementation
- Comprehensive error handling
Installation & Setup
Option 1: NPX (Recommended)
No installation required! Just configure and run:
# Test it works
npx @outcomeos/mcp-server --version
# Get help
npx @outcomeos/mcp-server --helpOption 2: Global Install
npm install -g @outcomeos/mcp-server
outcomeos-mcp --versionOption 3: Local Development
git clone https://github.com/outcomeos/outcomeOS.git
cd outcomeOS/mcp
npm install
npm run devConfiguration
Environment Variables
| Variable | Required | Description | Default |
| -------------------- | -------- | ------------------------------ | -------------------------- |
| OUTCOMEOS_API_KEY | ✅ | Your OutcomeOS API key | - |
| OUTCOMEOS_TEAM_ID | ❌ | Default team ID for operations | Auto-detect |
| OUTCOMEOS_BASE_URL | ❌ | OutcomeOS instance URL | https://app.outcomeos.io |
Getting Your API Key
- Login to OutcomeOS
- Go to Settings → Integrations
- Generate a new API Key
- Copy the key (starts with
ok_)
Usage Examples
Basic Usage
export OUTCOMEOS_API_KEY="ok_your_api_key_here"
npx @outcomeos/mcp-serverWith Team Context
export OUTCOMEOS_TEAM_ID="your-team-uuid"
npx @outcomeos/mcp-server --versionCustom Instance
export OUTCOMEOS_BASE_URL="https://custom.outcomeos.io"
npx @outcomeos/mcp-serverCursor Integration
Setup Steps
- Get your API key from OutcomeOS Settings → Integrations
- Add to Cursor settings (
~/.cursor/mcp.json):
{
"mcpServers": {
"OutcomeOS": {
"command": "npx",
"args": ["@outcomeos/mcp-server"],
"env": {
"OUTCOMEOS_API_KEY": "ok_your_api_key_here",
"OUTCOMEOS_TEAM_ID": "optional-team-uuid"
}
}
}
}- Restart Cursor
- Test it: Ask your AI assistant to "create a task" or "show my analytics"
Advanced Configuration
For teams with multiple OutcomeOS instances:
{
"mcpServers": {
"OutcomeOS-Production": {
"command": "npx",
"args": ["@outcomeos/mcp-server"],
"env": {
"OUTCOMEOS_API_KEY": "ok_prod_key",
"OUTCOMEOS_BASE_URL": "https://app.outcomeos.io"
}
},
"OutcomeOS-Staging": {
"command": "npx",
"args": ["@outcomeos/mcp-server"],
"env": {
"OUTCOMEOS_API_KEY": "ok_staging_key",
"OUTCOMEOS_BASE_URL": "https://staging.outcomeos.io"
}
}
}
}Available Tools & Resources
🔧 Tools (Actions)
create-task- Create new tasks (supports dependencies)update-task- Modify existing tasks (supports dependency updates)search-tasks- Find tasks with filters (dependency filtering)create-task-dependency- Create task dependenciesremove-task-dependency- Remove task dependenciesget-task-dependencies- Get task dependency informationget-blocked-tasks- Find tasks blocked by dependenciescreate-list- Create projects/backlogsupdate-list- Modify listssearch-lists- Find lists with filterscreate-outcome- Create new outcomesupdate-outcome- Modify outcomescreate-key-result- Create key resultsupdate-key-result- Modify key resultsget-analytics- Retrieve performance metricssemantic-search- AI-powered content discoverygraphql-query- Execute GraphQL queriesadd-comment- Add comments to entities
📊 Resources (Data Access)
tasks- All tasks with metadata (includes dependency data)tasks/active- Currently active taskstasks/overdue- Overdue tasks requiring attentiontasks/blocked- Tasks blocked by dependenciestasks/blocking- Tasks blocking other taskstask-dependencies- Task dependency relationshipslists- Projects, backlogs, templateslists/projects- Project lists onlyoutcomes- Goals and objectiveskey-results- Measurable outcomesanalytics/overview- High-level performance metricsanalytics/tasks- Task-specific analyticsactivity/recent- Latest updates and changesusers- Team members and assignmentsteams- Team information and structurestatuses- Workflow statusesrules- Automation rulescheck-ins- Team check-ins and responses
Task Dependencies
The MCP server supports comprehensive task dependency management:
Creating Dependencies
// Create a task dependency (Task A blocks Task B)
await mcp.callTool("create-task-dependency", {
blocking_task_id: "task-a-uuid",
waiting_task_id: "task-b-uuid",
});Creating Tasks with Dependencies
// Create a task that depends on other tasks
await mcp.callTool("create-task", {
title: "Integration Testing",
blocking_task_ids: ["feature-impl-uuid", "unit-tests-uuid"],
});Dependency Filtering
// Get blocked tasks
await mcp.callTool("search-tasks", {
blocked_only: true,
limit: 10,
});
// Get tasks ready to start
await mcp.callTool("search-tasks", {
can_be_started: true,
limit: 10,
});Dependency Resources
// Browse dependency data
await mcp.readResource("outcomeOS://task-dependencies");
await mcp.readResource("outcomeOS://tasks/blocked");
await mcp.readResource("outcomeOS://tasks/blocking");Testing
# Basic protocol test
npx @outcomeos/mcp-server
# Should connect and show available tools
# Test with your API key
export OUTCOMEOS_API_KEY="ok_your_key"
npx @outcomeos/mcp-server
# Should connect to your OutcomeOS instance
# Custom base URL
export OUTCOMEOS_BASE_URL="https://app.outcomeos.io"
npx @outcomeos/mcp-serverDevelopment
Local Development Setup
git clone https://github.com/outcomeos/outcomeOS.git
cd outcomeOS/mcp
npm install
npm run dev # Starts with hot reloadBuilding
npm run build # Compiles TypeScript
npm run start # Runs compiled versionTesting Changes
npm run build && npx @outcomeos/mcp-server --versionSupport & Community
- Documentation: OutcomeOS MCP Guide
- Issues: GitHub Issues
- Community: OutcomeOS Discussions
License
MIT License - see LICENSE file for details.
Ready to supercharge your productivity? Start with npx @outcomeos/mcp-server and connect your AI assistant to OutcomeOS! 🚀
