Skip to content

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.

Deletes · 10Final · 2Changes · 24

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

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.
  • 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.
  • 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.

.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.