What this is
Most project management tools were built for humans clicking through a UI. When an AI agent works on your project, it has no durable place to put what it learned — the task list records what is being done, and everything about why is lost when the chat window closes.
FrameOn is a project management platform where that context is a first-class citizen: tasks carry hierarchy, hours and cost; a wiki carries decisions with version history; and a separate project memory carries the constraints and conventions an agent should know before it touches anything. The MCP server exposes all of it to your assistant, scoped to the projects your credential can actually reach.
The server is first-party — built and operated by the FrameOn team, not a community wrapper over a public API.
Connection details
| Endpoint | https://api.frameonlab.com/api/v1/mcp |
|---|---|
| Transport | Streamable HTTP (JSON-RPC 2.0) |
| Authentication |
OAuth 2.1 — Dynamic Client Registration (RFC 7591) with PKCE
S256. Personal access tokens are supported for clients that do not
speak OAuth.
|
| Protocol versions |
2025-03-26, 2025-06-18, 2025-11-25,
2026-03-26, 2026-06-18
|
| Capabilities | tools, resources, prompts |
| Tools | 20 — 13 read-only, 7 write |
| Registry | com.frameonlab/frameon on the official MCP Registry |
| Pricing | MCP access is enabled by default on new workspaces, including the free tier. |
Claude Code
claude mcp add --transport http frameon https://api.frameonlab.com/api/v1/mcp
Claude Desktop, ChatGPT, Cursor and other clients
Add a remote MCP server pointing at the endpoint above. The client discovers the authorization server on its own and opens a browser for consent — you do not need to paste a token.
{
"mcpServers": {
"frameon": {
"type": "http",
"url": "https://api.frameonlab.com/api/v1/mcp"
}
}
}
If your client does not support OAuth, generate a personal access token
in FrameOn under Settings → Integrations and send it as
Authorization: Bearer <YOUR_TOKEN>. The token inherits your own
permissions — it never widens them.
The 20 tools
Every tool takes a project_id and is checked against the caller's role and
project access before it runs. Write tools are exposed only when the credential carries
the write scope.
| Tool | Access | What it does |
|---|---|---|
list_tasks |
read | List tasks in a project, filtered by status, assignee, type or dates. |
get_task |
read | Full detail of a single task, including description, dates and comments. |
get_task_stats |
read | Aggregate counts by status, assignee and priority for a project. |
get_project_structure |
read | The project's task tree — epics, stories, tasks and subtasks. |
create_task |
write | Create a task anywhere in the hierarchy, with dates, estimate and labels. |
update_task |
write | Change status, assignee, dates, estimate, priority or labels of a task. |
add_comment |
write | Append a comment to a task — the running log of what happened and why. |
log_time |
write | Log hours worked against a task, with date and description. |
list_documents_brief |
read | Titles and identifiers of the project's wiki pages and files. |
get_document_full_content |
read | The full content of one wiki page or document. |
search_documents |
read | Semantic search across the project's documentation. |
create_wiki_page |
write | Create a wiki page — where a decision that outlives a task belongs. |
get_project_memory |
read | The project's durable memory: decisions, constraints and conventions an agent should know before acting. |
save_classified_memory |
write | Write a classified memory entry so the next session starts where this one ended. |
get_project_team |
read | Members of the project and their roles, for assigning work correctly. |
get_time_report |
read | Hours by person, task and period. |
get_project_alerts |
read | Open risks and alerts raised on the project — overdue work, blocked tasks. |
list_skills |
read | Skills available to agents working on this workspace. |
get_skill |
read | The full instructions of one skill. |
report_ai_usage |
write | Report token usage and cost of an AI session against a task, so the project's real cost includes what the agents spent. |
Security and data access
-
OAuth 2.1 with PKCE
S256, mandatory. Redirect URIs are matched by exact equality;http:is accepted only on loopback. - Refresh token rotation with reuse detection — a replayed token invalidates the whole family.
- Scoped to the caller. A credential reaches exactly the projects its owner's role reaches. There is no tool that widens access.
- Workspace isolation. Every query is filtered by workspace, and the workspace identifier is never returned in a tool response.
- Nothing destructive is exposed. There is no delete tool. The write tools create records or change fields on records the caller already controls.
- Rate limited per credential, with a concurrency ceiling per instance.
Terms, privacy policy and acceptable use are published at /terms, /privacy and /aup.
When FrameOn is not the right fit
Jira, Linear, Asana, ClickUp and Notion all ship MCP servers too. FrameOn is worth evaluating when the shared context — decisions, memory, and the real cost of the work including what the agents spent — matters as much as the task list. It is honestly the wrong choice when:
- your team is not moving off its current tracker, and you only want an MCP layer on top of it;
- you need a mature third-party integration marketplace — FrameOn is a younger product with a smaller ecosystem;
- you need native desktop or mobile applications rather than the web app.
FrameOn imports from Jira and Microsoft Project, so evaluating it does not require abandoning your history.
Getting started
- Create a workspace — self-service, free tier, no sales call. MCP is enabled by default.
- Add the endpoint to your MCP client and approve the OAuth prompt.
- Ask your assistant something like "what's open on this project and who owns it?" to confirm the connection.
Step-by-step instructions per client, in five languages, live at app.frameonlab.com/connect.
