ContextLayer
by DotNova · remote · no sign-in to list tools · v0.1.0 · published by GitHub user DotNova
Intelligent context infrastructure for AI teams: knowledge graph, sessions, tasks, documents.
62 tools: 10 can delete or cancel things, 2 do something that can't be undone, 24 change things and 26 only read.
Scanned Oct 21, 2026
- Deletes or cancels10Claude Code: deny: see these tools
- Can't be undone2Claude Code: ask: see these tools
- Changes things24Claude Code: ask: see these tools
- Only reads26Claude Code: allow: see these tools
No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http context-layer https://api.dotnova.io/mcp --header 'Authorization: <your-authorization>'Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
62 tools
Deletes or cancels 10Claude Code: deny
delete_documentDelete a document from the knowledge base.No findings
Why it is in this group
- The name "delete_document" says "delete": a word for removing or ending something.
- The description says "permanently removes".
Description, as the server wrote it Delete a document from the knowledge base. This permanently removes the document.
delete_positionDelete a position permanently (admin only).No findings
Why it is in this group
- The name "delete_position" says "delete": a word for removing or ending something.
Description, as the server wrote it Delete a position permanently (admin only). Find by title or ID.
delete_projectDelete a project permanently (admin only).No findings
Why it is in this group
- The name "delete_project" says "delete": a word for removing or ending something.
Description, as the server wrote it Delete a project permanently (admin only). Find by name or ID.
delete_taskDelete a task permanently.No findings
Why it is in this group
- The name "delete_task" says "delete": a word for removing or ending something.
Description, as the server wrote it Delete a task permanently. The task and all its assignee links are removed.
delete_teamDelete a team permanently (admin only).No findings
Why it is in this group
- The name "delete_team" says "delete": a word for removing or ending something.
Description, as the server wrote it Delete a team permanently (admin only). Find by name or ID.
delete_userDelete (soft-delete) a user from your organization (admin/owner only).No findings
Why it is in this group
- The name "delete_user" says "delete": a word for removing or ending something.
Description, as the server wrote it Delete (soft-delete) a user from your organization (admin/owner only).
remove_task_dependencyRemove a dependency between tasks.No findings
Why it is in this group
- The name "remove_task_dependency" says "remove": a word for removing or ending something.
Description, as the server wrote it Remove a dependency between tasks. This unblocks the task from the other task.
remove_team_memberRemove a member from a team.No findings
Why it is in this group
- The name "remove_team_member" says "remove": a word for removing or ending something.
Description, as the server wrote it Remove a member from a team. Find the team by name or ID, and the user by name or email.
remove_user_from_orgRemove a user from the current organization without deleting their account.No findings
Why it is in this group
- The name "remove_user_from_org" says "remove": a word for removing or ending something.
Description, as the server wrote it Remove a user from the current organization without deleting their account. Admin/owner only.
unassign_taskRemove a user from a task's assignees.No findings
Why it is in this group
- The name "unassign_task" says "unassign": a word for a change.
- The description's first verb is "remove": a word for removing or ending something.
Description, as the server wrote it Remove a user from a task's assignees.
Can't be undone 2Claude Code: ask
accept_org_inviteAccept a pending organization invite by organization name.No findings
Why it is in this group
- The name "accept_org_invite" says "invite": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Accept a pending organization invite by organization name.
invite_userInvite a new member to your organization (admin/owner only).No findings
Why it is in this group
- The name "invite_user" says "invite": a word for sending, and what is sent cannot be taken back.
Description, as the server wrote it Invite a new member to your organization (admin/owner only).
Changes things 24Claude Code: ask
add_task_dependencyAdd a dependency between tasks.No findings
Why it is in this group
- The name "add_task_dependency" says "add": a word for a change.
Description, as the server wrote it 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.
add_team_memberAdd a member to a team.No findings
Why it is in this group
- The name "add_team_member" says "add": a word for a change.
Description, as the server wrote it Add a member to a team. Find the team by name or ID, and the user by name or email.
assign_taskAssign a user to a task by name or email.No findings
Why it is in this group
- The name "assign_task" says "assign": a word for a change.
Description, as the server wrote it 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.
create_positionCreate a new job position/title in your organization (admin only).No findings
Why it is in this group
- The name "create_position" says "create": a word for a change.
Description, as the server wrote it Create a new job position/title in your organization (admin only).
create_projectCreate a new project in your organization.No findings
Why it is in this group
- The name "create_project" says "create": a word for a change.
Description, as the server wrote it Create a new project in your organization. You will be added as the project owner.
create_sprintCreate a new sprint for a project.No findings
Why it is in this group
- The name "create_sprint" says "create": a word for a change.
Description, as the server wrote it 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.
create_taskCreate a new task in a project.No findings
Why it is in this group
- The name "create_task" says "create": a word for a change.
Description, as the server wrote it Create a new task in a project. Tasks track work items and can be assigned to team members and linked to sessions.
create_teamCreate a new team in your organization.No findings
Why it is in this group
- The name "create_team" says "create": a word for a change.
Description, as the server wrote it Create a new team in your organization. You will be added as team lead.
end_sessionEnd a work session.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
Description, as the server wrote it End a work session. This triggers context block generation — your activities are summarized and stored in the knowledge graph for future reference.
link_task_sessionLink a work session to a task.No findings
Why it is in this group
- The name "link_task_session" says "link": a word for a change.
Description, as the server wrote it 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.
link_team_projectLink a project to a team.No findings
Why it is in this group
- The name "link_team_project" says "link": a word for a change.
Description, as the server wrote it Link a project to a team. Find both by name or ID.
mark_notification_readMark a notification as read, or mark all notifications as read at once.No findings
Why it is in this group
- The name "mark_notification_read" says "mark": a word for a change.
Description, as the server wrote it Mark a notification as read, or mark all notifications as read at once.
move_task_to_sprintMove a task to a different sprint.No findings
Why it is in this group
- The name "move_task_to_sprint" says "move": a word for a change.
Description, as the server wrote it Move a task to a different sprint. Specify the target sprint by number or ID.
set_context_routingSet the context routing mode for the organization.No findings
Why it is in this group
- The name "set_context_routing" says "set": a word for a change.
Description, as the server wrote it Set the context routing mode for the organization. Requires admin role. Options: 'keyword_llm' (balanced), 'keyword_only' (fastest), 'llm_only' (most accurate).
setup_organizationSet up your organization in one step (admin only).No findings
Why it is in this group
- The description's first verb is "set": a word for a change.
Description, as the server wrote it Set up your organization in one step (admin only). Use this for onboarding.
start_sessionStart a work session.No findings
Why it is in this group
- The name "start_session" says "start": a word for a change.
Description, as the server wrote it 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 scope (per-project, or one global projectless session per user). Task type: coding, review, planning, debugging, research, meeting, other.
unlink_team_projectUnlink a project from a team.No findings
Why it is in this group
- The name "unlink_team_project" says "unlink": a word for a change.
Description, as the server wrote it Unlink a project from a team. Find both by name or ID.
update_orgUpdate your organization's details (owner only).No findings
Why it is in this group
- The name "update_org" says "update": a word for a change.
Description, as the server wrote it Update your organization's details (owner only). Set name, description, business model, objectives, custom context for AI, or links.
update_positionUpdate a position's title, description, or permissions (admin only).No findings
Why it is in this group
- The name "update_position" says "update": a word for a change.
Description, as the server wrote it Update a position's title, description, or permissions (admin only). Find by title or ID.
update_projectUpdate a project's name, description, or links.No findings
Why it is in this group
- The name "update_project" says "update": a word for a change.
Description, as the server wrote it Update a project's name, description, or links. Find by name or ID.
update_taskUpdate a task's status, title, description, priority, or team assignment.No findings
Why it is in this group
- The name "update_task" says "update": a word for a change.
Description, as the server wrote it 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.
update_teamUpdate a team's name, description, or objectives.No findings
Why it is in this group
- The name "update_team" says "update": a word for a change.
Description, as the server wrote it Update a team's name, description, or objectives. Find by name or ID.
update_userUpdate an existing user's name, role, positions, or skills (admin/owner only).No findings
Why it is in this group
- The name "update_user" says "update": a word for a change.
Description, as the server wrote it Update an existing user's name, role, positions, or skills (admin/owner only).
upload_documentUpload a document to the organization's knowledge base.No findings
Why it is in this group
- The name "upload_document" says "upload": a word for a change.
Description, as the server wrote it 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 files: for binary files (PDFs, images, etc.), set is_base64=true and provide the content as a base64-encoded string, along with the appropriate mime_type (e.g. 'application/pdf', 'image/png'). Optionally set file_name for the original filename. Embeddings are generated automatically for search.
Only reads 26Claude Code: allow
find_documentsSearch documents in the organization's knowledge base.No findings
Why it is in this group
- The name "find_documents" says "find": a word for reading.
Description, as the server wrote it 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.
get_contextGet intelligent context from the knowledge graph.No findings
Why it is in this group
- The name "get_context" says "get": a word for reading.
Description, as the server wrote it 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 narrow scope with project name or session ID.
get_context_routingGet the current context routing mode for the organization.No findings
Why it is in this group
- The name "get_context_routing" says "get": a word for reading.
Description, as the server wrote it Get the current context routing mode for the organization. Returns 'keyword_llm', 'keyword_only', or 'llm_only'.
get_documentGet the full content of a document by its ID.No findings
Why it is in this group
- The name "get_document" says "get": a word for reading.
Description, as the server wrote it 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.
get_live_activitySee what's happening right now: active sessions, recent events, traces, and tasks being worked on.No findings
Why it is in this group
- The name "get_live_activity" says "get": a word for reading.
Description, as the server wrote it See what's happening right now: active sessions, recent events, traces, and tasks being worked on.
get_my_statsGet your personal activity statistics: total sessions, events, active days, projects worked on, and recent activity summary.No findings
Why it is in this group
- The name "get_my_stats" says "get": a word for reading.
Description, as the server wrote it Get your personal activity statistics: total sessions, events, active days, projects worked on, and recent activity summary.
get_org_statsGet comprehensive organization statistics: counts, engagement metrics, task velocity.No findings
Why it is in this group
- The name "get_org_stats" says "get": a word for reading.
Description, as the server wrote it Get comprehensive organization statistics: counts, engagement metrics, task velocity.
get_project_statusGet the current status of a project including recent activity.No findings
Why it is in this group
- The name "get_project_status" says "get": a word for reading.
Description, as the server wrote it Get the current status of a project including recent activity. You can use either the project name or ID.
get_session_detailsGet full details of a session including all events/activities logged during it.No findings
Why it is in this group
- The name "get_session_details" says "get": a word for reading.
Description, as the server wrote it 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.
get_team_detailsGet detailed information about a team: members (with roles), linked projects, and recent activity.No findings
Why it is in this group
- The name "get_team_details" says "get": a word for reading.
Description, as the server wrote it Get detailed information about a team: members (with roles), linked projects, and recent activity. Use team name or ID.
list_colleaguesList colleagues in your organization.No findings
Why it is in this group
- The name "list_colleagues" says "list": a word for reading.
Description, as the server wrote it 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.
list_notificationsList your notifications — task assignments, status changes, sprint updates, invites, and more.No findings
Why it is in this group
- The name "list_notifications" says "list": a word for reading.
Description, as the server wrote it List your notifications — task assignments, status changes, sprint updates, invites, and more. Returns unread notifications by default.
list_pending_invitesList pending organization invites for the current user.No findings
Why it is in this group
- The name "list_pending_invites" says "list": a word for reading.
Description, as the server wrote it List pending organization invites for the current user.
list_positionsList all job positions/titles in your organization with member counts.No findings
Why it is in this group
- The name "list_positions" says "list": a word for reading.
Description, as the server wrote it List all job positions/titles in your organization with member counts.
list_project_membersList all members involved in a project.No findings
Why it is in this group
- The name "list_project_members" says "list": a word for reading.
Description, as the server wrote it List all members involved in a project. Includes users who have sessions in the project and users from teams linked to the project.
list_project_teamsList teams linked to a project.No findings
Why it is in this group
- The name "list_project_teams" says "list": a word for reading.
Description, as the server wrote it List teams linked to a project.
list_projectsList projects in your organization.No findings
Why it is in this group
- The name "list_projects" says "list": a word for reading.
Description, as the server wrote it List projects in your organization. No parameters needed — just call it to see all your projects.
list_sessionsList your recent work sessions.No findings
Why it is in this group
- The name "list_sessions" says "list": a word for reading.
Description, as the server wrote it List your recent work sessions. Optionally filter by project name or ID. Shows task type, status, and event count.
list_sprintsList sprints for a project.No findings
Why it is in this group
- The name "list_sprints" says "list": a word for reading.
Description, as the server wrote it List sprints for a project. Shows sprint number, name, goal, status (current/completed), and task count.
list_tasksList tasks.No findings
Why it is in this group
- The name "list_tasks" says "list": a word for reading.
Description, as the server wrote it 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.
list_teamsList all teams in your organization.No findings
Why it is in this group
- The name "list_teams" says "list": a word for reading.
Description, as the server wrote it List all teams in your organization. Shows team name, member count, project count, and description.
log_activityLog an activity or event.No findings
Why it is in this group
- The name "log_activity" says "log": a word for reading.
Description, as the server wrote it 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.
log_traceLog a granular agent action trace.No findings
Why it is in this group
- The name "log_trace" says "log": a word for reading.
Description, as the server wrote it Log a granular agent action trace. High-frequency, no LLM processing.
log_traces_batchLog multiple traces in a single batch.No findings
Why it is in this group
- The name "log_traces_batch" says "log": a word for reading.
Description, as the server wrote it Log multiple traces in a single batch.
search_entitiesSearch entities in the knowledge graph by name.No findings
Why it is in this group
- The name "search_entities" says "search": a word for reading.
Description, as the server wrote it Search entities in the knowledge graph by name. Finds people, companies, documents, concepts, tools, etc. that have been mentioned in your activities.
whoamiGet your profile, organization, projects, recent sessions, and top entities.No findings
Why it is in this group
- The name "whoami" says "whoami": a word for reading.
Description, as the server wrote it 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.
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.1.0. Values in angle brackets are yours to fill in.
claude mcp add --transport http context-layer https://api.dotnova.io/mcp --header 'Authorization: <your-authorization>'Run in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__context-layer__find_documents",
"mcp__context-layer__get_context",
"mcp__context-layer__get_context_routing",
"mcp__context-layer__get_document",
"mcp__context-layer__get_live_activity",
"mcp__context-layer__get_my_stats",
"mcp__context-layer__get_org_stats",
"mcp__context-layer__get_project_status",
"mcp__context-layer__get_session_details",
"mcp__context-layer__get_team_details",
"mcp__context-layer__list_colleagues",
"mcp__context-layer__list_notifications",
"mcp__context-layer__list_pending_invites",
"mcp__context-layer__list_positions",
"mcp__context-layer__list_project_members",
"mcp__context-layer__list_project_teams",
"mcp__context-layer__list_projects",
"mcp__context-layer__list_sessions",
"mcp__context-layer__list_sprints",
"mcp__context-layer__list_tasks",
"mcp__context-layer__list_teams",
"mcp__context-layer__log_activity",
"mcp__context-layer__log_trace",
"mcp__context-layer__log_traces_batch",
"mcp__context-layer__search_entities",
"mcp__context-layer__whoami"
],
"ask": [
"mcp__context-layer__accept_org_invite",
"mcp__context-layer__add_task_dependency",
"mcp__context-layer__add_team_member",
"mcp__context-layer__assign_task",
"mcp__context-layer__create_position",
"mcp__context-layer__create_project",
"mcp__context-layer__create_sprint",
"mcp__context-layer__create_task",
"mcp__context-layer__create_team",
"mcp__context-layer__end_session",
"mcp__context-layer__invite_user",
"mcp__context-layer__link_task_session",
"mcp__context-layer__link_team_project",
"mcp__context-layer__mark_notification_read",
"mcp__context-layer__move_task_to_sprint",
"mcp__context-layer__set_context_routing",
"mcp__context-layer__setup_organization",
"mcp__context-layer__start_session",
"mcp__context-layer__unlink_team_project",
"mcp__context-layer__update_org",
"mcp__context-layer__update_position",
"mcp__context-layer__update_project",
"mcp__context-layer__update_task",
"mcp__context-layer__update_team",
"mcp__context-layer__update_user",
"mcp__context-layer__upload_document"
],
"deny": [
"mcp__context-layer__delete_document",
"mcp__context-layer__delete_position",
"mcp__context-layer__delete_project",
"mcp__context-layer__delete_task",
"mcp__context-layer__delete_team",
"mcp__context-layer__delete_user",
"mcp__context-layer__remove_task_dependency",
"mcp__context-layer__remove_team_member",
"mcp__context-layer__remove_user_from_org",
"mcp__context-layer__unassign_task"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as context-layer. Review it before you use it.
