{
  "x-specification": "https://github.com/modelcontextprotocol/modelcontextprotocol/pull/2127",
  "x-specification-status": "SEP-2127 draft; Server Card Working Group active, no published schema yet",
  "x-specification-working-group": "https://modelcontextprotocol.io/community/working-groups/server-card",
  "name": "tensorpm",
  "displayName": "TensorPM — Project Agent Harness for Project Management",
  "description": "TensorPM is an AI agent harness purpose-built for project management. Its model loop works on a persistent, typed project graph — goals, scope, stakeholders, budget, timeline, milestones, work packages, action items, risks and decisions — through Context Distillation, governed tools and explicit permission boundaries. Distilled inputs and proposed changes to core project context require human confirmation; authorized typed MCP operations such as action-item and decision CRUD can apply directly and remain visible in project history. Decisions are a first-class, append-only primitive (record, supersede, withdraw — with source, actor, rationale and timestamp), while milestones, check-ins and agent self-scheduling make time part of the project model. TensorPM runs locally, acts as both MCP server and MCP client, supports A2A, native Email and Telegram connectors, and delegation to coding agents.",
  "version": "1.0.0",
  "homepage": "https://tensorpm.com",
  "documentation": "https://tensorpm.com/MCP-TOOLS.md",
  "license": "Proprietary",
  "icon": "https://tensorpm.com/images/logo/tensorpm-mark.png",
  "publisher": {
    "name": "TensorPM",
    "url": "https://tensorpm.com",
    "contact": "support@tensorpm.com"
  },
  "categories": [
    "project-management",
    "productivity",
    "agent-memory",
    "developer-tools",
    "agent-harness"
  ],
  "tags": [
    "mcp",
    "a2a",
    "context-driven-project-management",
    "cdpm",
    "claude-code",
    "codex",
    "openclaw",
    "cursor",
    "kanban",
    "gantt",
    "action-items",
    "local-first",
    "project-agent-harness",
    "agent-harness",
    "agentic-project-management",
    "project-graph",
    "decision-log",
    "audit-trail",
    "human-in-the-loop",
    "risk-register",
    "critical-path"
  ],
  "transport": {
    "preferred": "stdio",
    "supported": ["stdio"],
    "scope": "localhost-only",
    "stdio": {
      "command": "node",
      "argsHint": "<absolute-path-to>/dist/backend/mcp/server.js (resolved per-OS by the desktop app installer)"
    },
    "a2aSidecar": {
      "url": "http://localhost:37850",
      "note": "Optional A2A endpoint for non-MCP agents; not part of the MCP transport."
    }
  },
  "runtime": {
    "platforms": ["macOS", "Windows", "Linux"],
    "requires": "TensorPM desktop app running locally",
    "agentInstruction": "Install the TensorPM desktop app, install the TensorPM agent skill into the current agent runtime, then start TensorPM before using this MCP server.",
    "install": {
      "macOS": "brew install --cask neo552/tensorpm/tensorpm",
      "windows": "winget install --id Neo552.TensorPM --exact --accept-package-agreements --accept-source-agreements",
      "fallbackUnix": "curl -fsSL https://raw.githubusercontent.com/Neo552/TensorPM/main/scripts/install.sh | bash",
      "fallbackWindows": "irm https://raw.githubusercontent.com/Neo552/TensorPM/main/scripts/install.ps1 | iex"
    },
    "postInstall": [
      "Start the TensorPM desktop app.",
      "Verify local discovery with: curl http://localhost:37850/.well-known/agent.json"
    ],
    "verificationUrl": "http://localhost:37850/.well-known/agent.json"
  },
  "authentication": {
    "type": "none",
    "description": "Localhost-only by default. Optional bearer token via A2A_HTTP_AUTH_TOKEN environment variable."
  },
  "capabilities": {
    "tools": true,
    "resources": false,
    "prompts": false,
    "sampling": false,
    "streaming": true
  },
  "tools": [
    {
      "name": "list_projects",
      "description": "List all projects in the current workspace."
    },
    {
      "name": "create_project",
      "description": "Create a new project. Modes: basic, fromPrompt, fromFile."
    },
    {
      "name": "get_project",
      "description": "Get full project details including categories and people."
    },
    {
      "name": "list_action_items",
      "description": "List action items, optionally filtered by project, status, or priority."
    },
    {
      "name": "submit_action_items",
      "description": "Create new action items in bulk."
    },
    {
      "name": "update_action_items",
      "description": "Update existing action items (status, priority, dependencies, dates)."
    },
    {
      "name": "propose_updates",
      "description": "Propose changes to core project context — requires human approval before applying."
    },
    {
      "name": "record_decision",
      "description": "Capture a project decision as a first-class, append-only record (source: stakeholder_commit, top_down, agent_recommendation, user_directive, derived)."
    },
    {
      "name": "supersede_decision",
      "description": "Atomically replace an active decision; previous record is marked superseded and chained via supersedesId. Never silently overwrite a prior decision."
    },
    {
      "name": "withdraw_decision",
      "description": "Mark an active decision withdrawn (no longer applies, but stays in the audit chain). Prefer supersede_decision when there is a replacement."
    },
    {
      "name": "list_decisions",
      "description": "List decisions for a project, filterable by status (active/superseded/withdrawn), source, or linked entity (action_item, risk, milestone)."
    },
    {
      "name": "link_decision",
      "description": "Link a decision to an action item, risk, or milestone. Idempotent."
    },
    {
      "name": "unlink_decision",
      "description": "Remove a previously created decision link."
    },
    {
      "name": "set_api_key",
      "description": "Write-only. Business-only BYOK/API-key management for AI provider keys (openai, anthropic, google, mistral)."
    },
    {
      "name": "list_workspaces",
      "description": "List all workspaces accessible to the current user."
    },
    {
      "name": "set_active_workspace",
      "description": "Switch the active workspace."
    }
  ],
  "examples": [
    "List all open action items in the current project",
    "Create a new project from a brief document",
    "Update the priority of action item #12",
    "What are the high-priority blocked items?",
    "Create a project from this prompt: Build a habit tracker with streaks",
    "Propose timeline adjustments based on current progress",
    "Record a stakeholder commitment to ship v1.0 on May 2nd",
    "Supersede the previous budget cap decision with a new one",
    "List all decisions linked to risk R-7",
    "Ask the project agent (via A2A) to remind me to review the budget next Tuesday"
  ],
  "pricing": {
    "model": "freemium",
    "free": "Trial account: €0, no time limit, 2,000,000 lifetime TensorPM AI credits, Cloud Sync included, several own cloud workspaces under a fair-use limit, unlimited free members, no BYOK/API-key management.",
    "paidTiers": "Pro: €99/month or €990/year for 10M hosted AI credits per month, unlimited own cloud workspaces, 1 active project and unlimited archived projects. Encrypted Cloud Sync is on every tier including Trial, so it is never a reason to upgrade. Members are free and unlimited on every tier. No BYOK.",
    "topups": "Credit top-ups and auto top-up are not offered in the current public pricing model.",
    "businessTiers": "Business: custom pricing and limits, custom credits, encrypted Cloud Sync, and the only plan with BYOK/API-key management. Contact sales, no self-service checkout: https://tensorpm.com/business",
    "details": "https://tensorpm.com/PRICING.md"
  },
  "links": {
    "skill": "https://tensorpm.com/SKILL.md",
    "tools": "https://tensorpm.com/MCP-TOOLS.md",
    "a2a": "https://tensorpm.com/A2A-API.md",
    "actionItems": "https://tensorpm.com/ACTION-ITEMS.md",
    "pricing": "https://tensorpm.com/PRICING.md",
    "security": "https://tensorpm.com/SECURITY.md",
    "agentManifest": "https://tensorpm.com/.well-known/agent.json",
    "openapi": "https://tensorpm.com/openapi.json",
    "github": "https://github.com/Neo552/TensorPM",
    "releases": "https://github.com/Neo552/TensorPM-Releases/releases/latest"
  },
  "installButtons": {
    "claudeDesktop": "https://claude.ai/mcp/install?name=tensorpm&url=http%3A%2F%2Flocalhost%3A37850",
    "cursor": "cursor://anysphere.cursor-deeplink/mcp/install?name=tensorpm&config=eyJ1cmwiOiJodHRwOi8vbG9jYWxob3N0OjM3ODUwIn0%3D"
  }
}
