
ContextLayer
If your AI agents keep losing track of what happened last week or which teammate knows what, this gives them organizational memory. It ingests events from your tools via REST or gRPC, builds a four-layer knowledge graph (session, daily, project, org) using PostgreSQL and Apache AGE, then serves compressed context summaries in around 250 tokens. The MCP server exposes context retrieval so Claude Desktop or Cursor can pull relevant history, decisions, and expertise without you pasting chat logs. Best for teams running multiple AI workflows that need to share knowledge across sessions and projects.
- tools
- 62
- auth
- Secret needed
- transport
- HTTP
- last updated
- May 4, 2026
Install
From registry metadata$ npx add-mcp https://api.dotnova.io/mcp --name context-layer --header 'Authorization: Bearer ${API_TOKEN}'Run in your terminal. add-mcp asks which agents to add it to, then asks for each value it needs. Add -g to install it for every project.
Review the command, arguments and environment values before installing. MCP servers run with your local permissions.
Other ways
Claude Code
$ claude mcp add --transport http context-layer https://api.dotnova.io/mcp --header 'Authorization: YOUR_AUTHORIZATION'Run in your terminal. Add --scope user to make it available in every project.
Tools
Verified live · 62 toolsVerified live against the running server on Nov 6, 2026.
accept_org_inviteAccept a pending organization invite by organization name.1 params
Accept a pending organization invite by organization name.
org_name*stringadd_task_dependencyAdd a dependency between tasks. Use this to express that a task is blocked by another task (must complete first) or relates to it. This prevents context contamination: when Task B depends on Task A, agents working on Task B will be warned if Task A is still in progress.3 params
Add a dependency between tasks. Use this to express that a task is blocked by another task (must complete first) or relates to it. This prevents context contamination: when Task B depends on Task A, agents working on Task B will be warned if Task A is still in progress.
dependency_typestringdepends_on_task_id*stringtask_id*stringadd_team_memberAdd a member to a team. Find the team by name or ID, and the user by name or email.4 params
Add a member to a team. Find the team by name or ID, and the user by name or email.
rolestringteam_idstringteam_namestringuser*stringassign_taskAssign a user to a task by name or email. The user is added to the task's assignees and linked in the knowledge graph.2 params
Assign a user to a task by name or email. The user is added to the task's assignees and linked in the knowledge graph.
task_id*stringuser*stringcreate_positionCreate a new job position/title in your organization (admin only).3 params
Create a new job position/title in your organization (admin only).
descriptionstringpermissionsvaluetitle*stringcreate_projectCreate a new project in your organization. You will be added as the project owner.2 params
Create a new project in your organization. You will be added as the project owner.
descriptionstringname*stringcreate_sprintCreate a new sprint for a project. Automatically migrates non-completed tasks (todo/in_progress) from the previous sprint. On first use, creates Sprint 0 (Backlog) for existing tasks and Sprint 1 as the active sprint.4 params
Create a new sprint for a project. Automatically migrates non-completed tasks (todo/in_progress) from the previous sprint. On first use, creates Sprint 0 (Backlog) for existing tasks and Sprint 1 as the active sprint.
goalstringnamestringproject_idstringproject_namestringcreate_taskCreate a new task in a project. Tasks track work items and can be assigned to team members and linked to sessions.12 params
Create a new task in a project. Tasks track work items and can be assigned to team members and linked to sessions.
assigneesarraydepends_onarraydescriptionstringdue_atstringprioritystringproject_idstringproject_namestringsprint_numberintegertagsarrayteam_idstringteam_namestringtitle*stringcreate_teamCreate a new team in your organization. You will be added as team lead.3 params
Create a new team in your organization. You will be added as team lead.
descriptionstringname*stringobjectivesarraydelete_documentDelete a document from the knowledge base. This permanently removes the document.1 params
Delete a document from the knowledge base. This permanently removes the document.
document_id*stringdelete_positionDelete a position permanently (admin only). Find by title or ID.2 params
Delete a position permanently (admin only). Find by title or ID.
position_idstringposition_titlestringdelete_projectDelete a project permanently (admin only). Find by name or ID.2 params
Delete a project permanently (admin only). Find by name or ID.
project_idstringproject_namestringdelete_taskDelete a task permanently. The task and all its assignee links are removed.1 params
Delete a task permanently. The task and all its assignee links are removed.
task_id*stringdelete_teamDelete a team permanently (admin only). Find by name or ID.2 params
Delete a team permanently (admin only). Find by name or ID.
team_idstringteam_namestringdelete_userDelete (soft-delete) a user from your organization (admin/owner only).1 params
Delete (soft-delete) a user from your organization (admin/owner only).
user*stringend_sessionEnd a work session. This triggers context block generation — your activities are summarized and stored in the knowledge graph for future reference.3 params
End a work session. This triggers context block generation — your activities are summarized and stored in the knowledge graph for future reference.
outcome*stringsession_id*stringtoken_usagevaluefind_documentsSearch documents in the organization's knowledge base. Filter by category, tags, project, or free-text query. Returns document metadata — use get_document to read the full content.6 params
Search documents in the organization's knowledge base. Filter by category, tags, project, or free-text query. Returns document metadata — use get_document to read the full content.
categorystringlimitintegerproject_namestringquerystringtagsarrayteam_namestringget_contextGet intelligent context from the knowledge graph. Pass a query describing what you need — the system will automatically route to the right data sources (tasks, sessions, documents, teams, blocks) based on intent analysis + graph traversal + semantic similarity. Optionally narr...5 params
Get intelligent context from the knowledge graph. Pass a query describing what you need — the system will automatically route to the right data sources (tasks, sessions, documents, teams, blocks) based on intent analysis + graph traversal + semantic similarity. Optionally narr...
max_tokensintegerproject_idstringproject_namestringquery*stringsession_idstringget_context_routingGet the current context routing mode for the organization. Returns 'keyword_llm', 'keyword_only', or 'llm_only'.
Get the current context routing mode for the organization. Returns 'keyword_llm', 'keyword_only', or 'llm_only'.
No parameters. Call it with no arguments.
get_documentGet the full content of a document by its ID. Use find_documents first to search, then get_document to read the content. For binary documents (PDFs, images), content is returned base64-encoded with encoding='base64' and the mime_type field.1 params
Get the full content of a document by its ID. Use find_documents first to search, then get_document to read the content. For binary documents (PDFs, images), content is returned base64-encoded with encoding='base64' and the mime_type field.
document_id*stringget_live_activitySee what's happening right now: active sessions, recent events, traces, and tasks being worked on.4 params
See what's happening right now: active sessions, recent events, traces, and tasks being worked on.
project_namestringrecent_minutesintegerteam_namestringuser_namestringget_my_statsGet your personal activity statistics: total sessions, events, active days, projects worked on, and recent activity summary.
Get your personal activity statistics: total sessions, events, active days, projects worked on, and recent activity summary.
No parameters. Call it with no arguments.
get_org_statsGet comprehensive organization statistics: counts, engagement metrics, task velocity.
Get comprehensive organization statistics: counts, engagement metrics, task velocity.
No parameters. Call it with no arguments.
get_project_statusGet the current status of a project including recent activity. You can use either the project name or ID.2 params
Get the current status of a project including recent activity. You can use either the project name or ID.
project_idstringproject_namestringget_session_detailsGet full details of a session including all events/activities logged during it. Shows who did what, when, and the session block summary if available. Admins can view any session in the org; members can only view their own.1 params
Get full details of a session including all events/activities logged during it. Shows who did what, when, and the session block summary if available. Admins can view any session in the org; members can only view their own.
session_id*stringget_team_detailsGet detailed information about a team: members (with roles), linked projects, and recent activity. Use team name or ID.2 params
Get detailed information about a team: members (with roles), linked projects, and recent activity. Use team name or ID.
team_idstringteam_namestringinvite_userInvite a new member to your organization (admin/owner only).6 params
Invite a new member to your organization (admin/owner only).
email*stringname*stringpositionsarrayrolestringskillsarrayteam_namestringlink_task_sessionLink a work session to a task. This records that the session was used to work on the task, connecting them in the knowledge graph.2 params
Link a work session to a task. This records that the session was used to work on the task, connecting them in the knowledge graph.
session_id*stringtask_id*stringlink_team_projectLink a project to a team. Find both by name or ID.4 params
Link a project to a team. Find both by name or ID.
project_idstringproject_namestringteam_idstringteam_namestringlist_colleaguesList colleagues in your organization. Shows name, email, role, and optionally filters by team. Admins see all users; members see users in their own teams.2 params
List colleagues in your organization. Shows name, email, role, and optionally filters by team. Admins see all users; members see users in their own teams.
limitintegerteam_namestringlist_notificationsList your notifications — task assignments, status changes, sprint updates, invites, and more. Returns unread notifications by default.2 params
List your notifications — task assignments, status changes, sprint updates, invites, and more. Returns unread notifications by default.
limitintegerunread_onlybooleanlist_pending_invitesList pending organization invites for the current user.
List pending organization invites for the current user.
No parameters. Call it with no arguments.
list_positionsList all job positions/titles in your organization with member counts.
List all job positions/titles in your organization with member counts.
No parameters. Call it with no arguments.
list_project_membersList all members involved in a project. Includes users who have sessions in the project and users from teams linked to the project.2 params
List all members involved in a project. Includes users who have sessions in the project and users from teams linked to the project.
project_idstringproject_namestringlist_project_teamsList teams linked to a project.2 params
List teams linked to a project.
project_idstringproject_namestringlist_projectsList projects in your organization. No parameters needed — just call it to see all your projects.1 params
List projects in your organization. No parameters needed — just call it to see all your projects.
org_idstringlist_sessionsList your recent work sessions. Optionally filter by project name or ID. Shows task type, status, and event count.3 params
List your recent work sessions. Optionally filter by project name or ID. Shows task type, status, and event count.
limitintegerproject_idstringproject_namestringlist_sprintsList sprints for a project. Shows sprint number, name, goal, status (current/completed), and task count.2 params
List sprints for a project. Shows sprint number, name, goal, status (current/completed), and task count.
project_idstringproject_namestringlist_tasksList tasks. Filter by project, status (todo/in_progress/done/cancelled), sprint number, or show only your tasks. Shows title, status, priority, assignees, sprint, and linked sessions.5 params
List tasks. Filter by project, status (todo/in_progress/done/cancelled), sprint number, or show only your tasks. Shows title, status, priority, assignees, sprint, and linked sessions.
limitintegermine_onlybooleanproject_namestringsprint_numberintegerstatusstringlist_teamsList all teams in your organization. Shows team name, member count, project count, and description.
List all teams in your organization. Shows team name, member count, project count, and description.
No parameters. Call it with no arguments.
log_activityLog an activity or event. If no session_id is provided, a session is automatically created or reused for the project. Just pass project_name and content — no need to start a session first.6 params
Log an activity or event. If no session_id is provided, a session is automatically created or reused for the project. Just pass project_name and content — no need to start a session first.
content*stringevent_type*stringproject_idstringproject_namestringsession_idstringsourcestringlog_traceLog a granular agent action trace. High-frequency, no LLM processing.11 params
Log a granular agent action trace. High-frequency, no LLM processing.
duration_msintegermetadatavalueparent_trace_idstringproject_idstringproject_namestringsession_idstringstatusstringsummary*stringtask_idstringtrace_idstringtrace_type*stringlog_traces_batchLog multiple traces in a single batch.1 params
Log multiple traces in a single batch.
traces*arraymark_notification_readMark a notification as read, or mark all notifications as read at once.2 params
Mark a notification as read, or mark all notifications as read at once.
mark_allbooleannotification_idstringmove_task_to_sprintMove a task to a different sprint. Specify the target sprint by number or ID.4 params
Move a task to a different sprint. Specify the target sprint by number or ID.
project_namestringsprint_idstringsprint_numberintegertask_id*stringremove_task_dependencyRemove a dependency between tasks. This unblocks the task from the other task.2 params
Remove a dependency between tasks. This unblocks the task from the other task.
depends_on_task_id*stringtask_id*stringremove_team_memberRemove a member from a team. Find the team by name or ID, and the user by name or email.3 params
Remove a member from a team. Find the team by name or ID, and the user by name or email.
team_idstringteam_namestringuser*stringremove_user_from_orgRemove a user from the current organization without deleting their account. Admin/owner only.1 params
Remove a user from the current organization without deleting their account. Admin/owner only.
user*stringsearch_entitiesSearch entities in the knowledge graph by name. Finds people, companies, documents, concepts, tools, etc. that have been mentioned in your activities.3 params
Search entities in the knowledge graph by name. Finds people, companies, documents, concepts, tools, etc. that have been mentioned in your activities.
entity_typestringlimitintegerquery*stringset_context_routingSet the context routing mode for the organization. Requires admin role. Options: 'keyword_llm' (balanced), 'keyword_only' (fastest), 'llm_only' (most accurate).1 params
Set the context routing mode for the organization. Requires admin role. Options: 'keyword_llm' (balanced), 'keyword_only' (fastest), 'llm_only' (most accurate).
mode*stringsetup_organizationSet up your organization in one step (admin only). Use this for onboarding.7 params
Set up your organization in one step (admin only). Use this for onboarding.
business_model*stringcustom_contextstringdescription*stringlinksarrayobjectives*arrayprojectsarrayteamsarraystart_sessionStart a work session. If a project is provided (project_name or project_id), the session is bound to it; if neither is provided, an unbound (projectless) session is created — useful when the work isn't tied to a specific project. Reuses an existing active session for the same...4 params
Start a work session. If a project is provided (project_name or project_id), the session is bound to it; if neither is provided, an unbound (projectless) session is created — useful when the work isn't tied to a specific project. Reuses an existing active session for the same...
project_idstringproject_namestringsourcestringtask_type*stringunassign_taskRemove a user from a task's assignees.2 params
Remove a user from a task's assignees.
task_id*stringuser_id*stringunlink_team_projectUnlink a project from a team. Find both by name or ID.4 params
Unlink a project from a team. Find both by name or ID.
project_idstringproject_namestringteam_idstringteam_namestringupdate_orgUpdate your organization's details (owner only). Set name, description, business model, objectives, custom context for AI, or links.6 params
Update your organization's details (owner only). Set name, description, business model, objectives, custom context for AI, or links.
business_modelstringcustom_contextstringdescriptionstringlinksvaluenamestringobjectivesarrayupdate_positionUpdate a position's title, description, or permissions (admin only). Find by title or ID.5 params
Update a position's title, description, or permissions (admin only). Find by title or ID.
new_descriptionstringnew_permissionsvaluenew_titlestringposition_idstringposition_titlestringupdate_projectUpdate a project's name, description, or links. Find by name or ID.5 params
Update a project's name, description, or links. Find by name or ID.
linksvaluenew_descriptionstringnew_namestringproject_idstringproject_namestringupdate_taskUpdate a task's status, title, description, priority, or team assignment. Use this to move tasks through the workflow (todo -> in_progress -> done) or reassign to a team.9 params
Update a task's status, title, description, priority, or team assignment. Use this to move tasks through the workflow (todo -> in_progress -> done) or reassign to a team.
descriptionstringdue_atstringprioritystringstatusstringtagsarraytask_id*stringteam_idstringteam_namestringtitlestringupdate_teamUpdate a team's name, description, or objectives. Find by name or ID.5 params
Update a team's name, description, or objectives. Find by name or ID.
new_descriptionstringnew_namestringnew_objectivesarrayteam_idstringteam_namestringupdate_userUpdate an existing user's name, role, positions, or skills (admin/owner only).5 params
Update an existing user's name, role, positions, or skills (admin/owner only).
new_namestringnew_rolestringpositionsarrayskillsarrayuser*stringupload_documentUpload a document to the organization's knowledge base. Documents can be templates, policies, contracts, procedures, guides, or references. They are indexed in the knowledge graph and automatically surfaced as context when relevant to a task. Supports both text and binary file...11 params
Upload a document to the organization's knowledge base. Documents can be templates, policies, contracts, procedures, guides, or references. They are indexed in the knowledge graph and automatically surfaced as context when relevant to a task. Supports both text and binary file...
category*stringcontent*stringfile_namestringis_base64booleanmime_typestringproject_idstringproject_namestringtagsarrayteam_idsarrayteam_namesarraytitle*stringwhoamiGet your profile, organization, projects, recent sessions, and top entities. This is the best starting point — call this first to understand what's available. No parameters needed.
Get your profile, organization, projects, recent sessions, and top entities. This is the best starting point — call this first to understand what's available. No parameters needed.
No parameters. Call it with no arguments.
Sponsors
Readme
Details
- Repository
- github.com/dotnova/context-layer
- Website
- app.dotnova.io
- Categories
- Cloud & Infrastructure, Communication & Messaging, Documents & Knowledge
- Transport
- HTTP
- Auth
- Required
- Registry
- MCP registry, active
- Resources
- 3
- Tools verified
- Nov 6, 2026