{"slug": "onplana-chatgpt-and-claude-do-work-through-one-shared-project-plan", "title": "Onplana – ChatGPT and Claude do work through one shared project plan", "summary": "Onplana launched a project-planning platform that lets AI agents like ChatGPT and Claude execute tasks through a shared plan via an MCP server with 250 tools, treating the plan as the persistent substrate rather than chat context. The platform includes an in-app Run-with-Agent feature for analysis and drafting, with all changes RBAC-checked, idempotent, and audited.", "body_md": "# Project plans that agents can run, via MCP or in-app.\n\nThe plan is the source of truth: tasks, sprints, milestones, dependencies, baselines, and an audit log. Agents read from it and write structured changes back. Two surfaces reach the same plan, an MCP server for external agents from any ecosystem (ChatGPT, Claude, Cursor, Codex) and Run-with-Agent for the in-app experience.\n\nMCP endpoint https://mcp.onplana.com/mcp\n\n250 MCP tools · OAuth 2.1 + DCR · idempotent · audited · free tier, no credit card\n\n## Watch the plan run itself\n\nOne brief becomes a full project plan, then ChatGPT, Claude, and Onplana's own AI each execute their tasks through that shared plan, with a human approving the final send. Different ecosystems, one control plane.\n\n## The assistant-in-a-tab problem\n\nMost project tools bolt an assistant onto the side of the app. You ask it a question, it answers in a chat panel, and the result lives in scrollback. The next person who opens the project cannot see what the assistant concluded, and neither can the next agent. The work product is a conversation, and a conversation is not something a team or a second agent can build on.\n\nThe fix is to stop treating the plan as context for a chat and start treating it as the substrate the chat writes to. When an agent moves a task, flags a risk, or drafts a status report, the change lands on the plan itself, with the same permission checks, idempotency, and audit trail a human edit gets. The conversation is disposable. The plan is what persists, and it is what the next worker, human or agent, picks up.\n\n## The model: plan as substrate\n\nTwo surfaces write into one plan. Both go through the same gate.\n\n## What it looks like\n\nThree real interactions. The bracketed lines are tool calls against the plan.\n\n```\nYou: Connect to Onplana, what's overdue\n  on Mobile App v2?\n\nClaude: [list_overdue, project filter]\n  4 overdue. Top 2: \"API rate limit\n  handling\" (Sarah, 6d), \"Push\n  notification config\" (Mike, 3d).\n  Both in Sprint 14.\n\nYou: Move them to Sprint 15. Reassign\n  Sarah's to Mike, she's at capacity.\n\nClaude: [move_task_to_sprint x2,\n         assign_task]\n  Done. Both in Sprint 15. Sarah's\n  task reassigned to Mike.\n  Audit log: /audit/...\n[Cursor finishes refresh token\n rotation, commits a3f7c2]\n\nCursor (via MCP):\n  update_task taskId=tsk_abc\n    status=DONE\n    note=\"Commit a3f7c2: refresh\n          token rotation\"\n\nOnplana:\n  Task moved to DONE.\n  2h logged to draft timesheet.\nPM clicks \"Run with Agent\" on the\nQ4 Launch project.\nGoal: \"Identify blockers before\n       standup.\"\n\nAgent runs (read state):\n  list_tasks, list_risks, list_overdue\n  analyze_project_health (AI pass over\n    comments + state)\n\nReturns a proposal:\n  3 risks flagged, 2 mitigation tasks\n  drafted, 4 reassignment suggestions.\n\nPM accepts 2 risks, edits the 3rd,\naccepts both mitigations, accepts 1\nreassignment, rejects 3. Status report\ndraft attached.\n```\n\n## Two surfaces, two sizes\n\nThe MCP server registers 250 tools, spanning projects, tasks, sprints, milestones, earned value, risks, issues, governance, change control, timesheets, wikis, whiteboards, workflows, and the Microsoft Graph integrations. Every one is RBAC-checked against the caller's role, plan-gated against the org's tier, idempotent on a client-supplied key, and written to an audit trail. An external agent with the right token can reach all of it.\n\n250 tools is too large a surface for an autonomous in-app agent to navigate well, so Run-with-Agent works through a curated set of ten capabilities, biased toward analysis, drafting, and proposing rather than executing irreversible decisions. It can summarize a project, analyze project health, generate a risk register, calculate earned value, run a schedule health check, break a task into subtasks, and draft documents and workspace tables. Every Run-with-Agent capability is additive by construction: it writes new artifacts and never edits an existing row, and a test fails the build if a capability declares otherwise. It cannot move tasks between sprints, reassign people, approve timesheets, or advance governance gates. Those stay with humans, who accept, edit, or reject each proposal. The docs walk through both halves of the loop: [assigning work to an agent](https://docs.onplana.com/ai-agents/assign-work-to-an-agent/) and [reviewing what it produces](https://docs.onplana.com/ai-agents/review-agent-output/).\n\nRemoval is recoverable everywhere it matters. There is no tool to delete a project, task, sprint, or milestone, on any surface. Those soft-delete to a recycle bin you restore from. The in-app agent is denied every delete, remove, and withdraw tool outright. A small set of leaf deletes (a comment, a tag, a wiki page) are exposed over MCP, each RBAC-checked and audited. The constraint that makes the surface safe for autonomous agents is the same one humans rely on: nothing structural is gone for good.\n\n## Stack and compliance\n\n- Frontend\n- React, TypeScript, Vite\n- Backend\n- Node, Express, Prisma. Postgres with an EAV model for custom fields, scoped-subgraph CPM recalculation, Redis.\n- Infrastructure\n- Azure Container Apps, Azure DNS\n- MCP\n- Spec-compliant server. OAuth 2.1 + Dynamic Client Registration, PKCE S256, a 401 + WWW-Authenticate envelope, and agent_bootstrap on the initialize handshake.\n- Identity\n- SAML 2.0, OIDC, SCIM 2.0, validated end-to-end against Microsoft Entra.\n- Imports\n- MPXJ for .mpp files from Microsoft Project.\n\n## Get started\n\n### Connect Claude, Cursor, or ChatGPT\n\nPoint your client at `https://mcp.onplana.com/mcp`\n\n. OAuth 2.1 with Dynamic Client Registration, or a scoped personal access token. ChatGPT can add Onplana straight from its connector directory.\n\n### Try it in-app\n\nCreate a free account, open a project, and click Run-with-Agent. The free plan includes a one-time AI token bonus to try it on real work.\n\nStart free\n\n### Read the docs\n\nThe tool catalog, the auth flow, the plan-gating model, and the audit format are documented for builders integrating against the API.\n\nOpen docs## What we don't have yet\n\nThere is no native mobile app today, the web app is responsive and works on a phone, but a real iOS or Android client is not built yet. A direct connector to the Project Online Project Web App is constrained by Microsoft's API restrictions on that surface, so the current migration path is MPXJ file import with a transformer, not a live PWA sync. And the AI included on the free plan is a one-time token bonus, not unlimited, heavy automated use runs on a paid plan or prepaid credit. These are real gaps and trade-offs, stated plainly rather than buried.\n\n## Build with us at onplana.com\n\nNot building an integration? See how project managers and executives work with agents inside Onplana on the [propose-ratify page](/ai/agents).", "url": "https://wpnews.pro/news/onplana-chatgpt-and-claude-do-work-through-one-shared-project-plan", "canonical_source": "https://onplana.com/agents", "published_at": "2026-06-26 12:44:55+00:00", "updated_at": "2026-06-26 13:06:04.472841+00:00", "lang": "en", "topics": ["ai-agents", "developer-tools", "ai-tools", "ai-infrastructure", "generative-ai"], "entities": ["Onplana", "ChatGPT", "Claude", "Cursor", "Codex", "MCP"], "alternates": {"html": "https://wpnews.pro/news/onplana-chatgpt-and-claude-do-work-through-one-shared-project-plan", "markdown": "https://wpnews.pro/news/onplana-chatgpt-and-claude-do-work-through-one-shared-project-plan.md", "text": "https://wpnews.pro/news/onplana-chatgpt-and-claude-do-work-through-one-shared-project-plan.txt", "jsonld": "https://wpnews.pro/news/onplana-chatgpt-and-claude-do-work-through-one-shared-project-plan.jsonld"}}