MCP Server Documentation
ContextLayer MCP
Track, link, and recall context across your team — directly from Claude.
ContextLayer is a Model Context Protocol server that turns every conversation, task, and document into a typed knowledge graph the whole team can pull from. 62 tools across sessions, tasks, sprints, projects, teams, documents, and live activity — all backed by a unified intelligent context router.
Quickstart
ContextLayer is a remote MCP server running over Streamable HTTP. Connect from any MCP-compatible client (Claude Desktop, Claude.ai, Cursor, Cline, custom agents via the SDK).
Get a personal API token
Add the server to your MCP client
Endpoint: https://api.dotnova.io/mcp
Authentication: Authorization: Bearer <your_token>
{
"mcpServers": {
"contextlayer": {
"type": "http",
"url": "https://api.dotnova.io/mcp",
"headers": {
"Authorization": "Bearer YOUR_TOKEN_HERE"
}
}
}
}Start using it
Authentication
All requests require a Bearer JWT in the Authorization header. Tokens are scoped to the user and the active organization, and inherit the user's role-based permissions (owner / admin / member).
- Members see their own teams and projects.
- Admins and owners see the whole organization.
- Tokens can be revoked from the dashboard at any time.
- The MCP endpoint also supports OAuth 2.0 discovery for clients that prefer it (returns
WWW-Authenticatewith the metadata URL).
Tools Reference
62 tools, grouped by domain. Every tool is fully self-describing via the MCP tools/list endpoint — your client will see the full input schema and description.
Discovery & Context (6)
Bootstrap a conversation with the user's profile, projects, and a unified context query that traverses the knowledge graph.
| whoami | Profile, organization, accessible projects, recent sessions, top entities. Always call first. |
| get_context | Intelligent context retrieval — intent classification + graph traversal + semantic search returning critical/relevant/background tiers. |
| search_entities | Search people, companies, documents, concepts, and tools mentioned across the org. |
| get_my_stats | Personal activity statistics: sessions, events, active days, projects, recent activity. |
| get_org_stats | Org-wide stats: counts, engagement, task velocity (admin). |
| get_live_activity | What's happening right now — active sessions, events, traces, tasks in progress. |
Sessions & Activities (7)
Sessions track work in real time and become typed knowledge blocks. Auto-started on the first MCP call; survives across multiple agents working on the same project.
| start_session | Start (or reuse) a work session. Pass project_name to bind, or omit for a projectless session. |
| end_session | End a session. Triggers SessionBlock generation: activities are summarized into the knowledge graph. |
| log_activity | Log an event (code_change, decision, note, conversation, discovery). Auto-creates a session if none exists. |
| log_trace | Granular agent action (tool_call, file_read, file_write, code_search, api_call, thinking, error). High-frequency. |
| log_traces_batch | Log multiple traces in one call. |
| list_sessions | Recent work sessions, optionally filtered by project. |
| get_session_details | All events/activities in a session. Admins see any session in the org. |
Tasks & Sprints (12)
Full task lifecycle, sprint planning, and dependency tracking. Tasks are linked to people, projects, and sessions in the graph.
| create_task | Create a task with assignees, priority, tags, team, and due date. |
| list_tasks | Filter by project, status, sprint, or mine_only. |
| update_task | Move through workflow (todo → in_progress → done) or update fields. |
| delete_task | Remove a task permanently. |
| assign_task | Add a user to a task by name or email. |
| unassign_task | Remove a user from a task. |
| link_task_session | Connect a session to a task — feeds the knowledge graph. |
| add_task_dependency | Express that a task is blocked by another. Prevents cross-session contamination. |
| remove_task_dependency | Remove a dependency. |
| list_sprints | All sprints in a project: backlog, active, completed. |
| create_sprint | New sprint — auto-migrates non-completed tasks from the previous sprint. |
| move_task_to_sprint | Reassign a task to a different sprint. |
Projects (9)
Project CRUD, membership, and team links.
| list_projects | All projects accessible to the user. |
| create_project | New project — caller becomes owner. |
| update_project | Rename, change description, or update links. |
| delete_project | Permanently remove a project (admin). |
| get_project_status | Recent activity, members, and current state. |
| list_project_members | All people involved (via sessions and team links). |
| list_project_teams | Teams linked to a project. |
| link_team_project | Connect a team to a project. |
| unlink_team_project | Disconnect a team from a project. |
Teams & People (8)
Team management, member roles, and people directory. Members see their own teams; admins see everyone.
| list_teams | All teams in the organization. |
| get_team_details | Members, linked projects, and recent activity. |
| create_team | New team — caller becomes lead. |
| update_team | Rename or change description/objectives. |
| delete_team | Permanently remove a team (admin). |
| add_team_member | Add a user to a team by name or email. |
| remove_team_member | Remove a user from a team. |
| list_colleagues | People directory; filterable by team. |
Knowledge Base & Documents (4)
Upload templates, policies, contracts, and references. Embeddings are generated automatically and surfaced as background context when relevant.
| upload_document | Upload text or binary files (PDFs, images). Indexed and embedded automatically. |
| find_documents | Search by category, tags, project, or free text. |
| get_document | Read full content. Binary files come back base64-encoded. |
| delete_document | Permanently remove a document. |
Organization & Users (8)
Organization setup, user management, and onboarding (admin/owner only).
| setup_organization | Create teams, projects, and links in one step. Use during onboarding. |
| update_org | Org name, description, business model, objectives, custom AI context, links. |
| invite_user | Invite a new member with role, team, positions, and skills. |
| update_user | Change name, role, positions, or skills. |
| delete_user | Soft-delete a user from the organization. |
| remove_user_from_org | Remove a user without deleting the account. |
| list_pending_invites | Invites pending for the current user. |
| accept_org_invite | Accept a pending invite by org name. |
Positions (4)
Job titles with member counts and permissions (admin only).
| list_positions | All positions in the org. |
| create_position | Define a new job title. |
| update_position | Update title, description, or permissions. |
| delete_position | Remove a position permanently. |
Context Routing (2)
Tune how the IntelligentRouter classifies queries.
| get_context_routing | Current routing mode: keyword_llm, keyword_only, or llm_only. |
| set_context_routing | Change the routing mode (admin). |
Use Cases
What a typical conversation with ContextLayer looks like:
Run sprint planning with full context
“Plan next sprint for the payments team — pull unfinished work, recent blockers, and team capacity, then draft the sprint goals.”
Generate status reports automatically
“Summarize what every team shipped this week and flag any project that's slipping against its deadline.”
Onboard new teammates
“Summarize everything the billing project has done in the last 60 days — decisions, key contributors, open tasks — for a new PM joining Monday.”
Coordinate across agents and tools
“Share context from my Claude Code session, my Cursor instance, and yesterday's research conversation so they all start with the same understanding of the auth refactor.”
Find internal experts and owners
“Who has the most experience with our Postgres migrations, and what have they recently shipped that I should review?”
Capture and link work automatically
“Log this planning conversation under the Q3 roadmap project, link it to the relevant epics, and create follow-up tasks for the action items we discussed.”
Data & Privacy
- Data is processed and stored on servers in Germany (EU), hosted by Hetzner.
- We collect only what's needed to operate the requested tools — no chat history, no Claude memory, no files from other contexts.
- We do not sell data, share for behavioral advertising, or use your data to train AI models.
- LGPD- and GDPR-compliant. Full policy: https://app.dotnova.io/privacy.
- Data subject rights (access, correction, deletion, portability): email contato@dotnova.io — response within 15 days.
Support
- Email: contato@dotnova.io
- Dashboard: https://app.dotnova.io
- Source: github.com/DotNova/context-layer
- MCP registry: io.github.DotNova/context-layer