ContextLayer is an MCP server with 62 tools an agent can call, among them accept_org_invite, add_task_dependency, add_team_member. It answers at https://api.dotnova.io/mcp over streamable HTTP, and it listed its tools to an anonymous client, so no sign-in was needed for that. Our probes reached it 5 of 6 times since 11 September 2026; the last check, on 19 October 2026, succeeded.
Intelligent context infrastructure for AI teams: knowledge graph, sessions, tasks, documents.
Description as the publisher wrote it.
| Tool | What it does |
|---|---|
accept_org_invite | Accept a pending organization invite by organization name. Inputs: org_name |
add_task_dependency | 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 i Inputs: dependency_type, depends_on_task_id, task_id |
add_team_member | Add a member to a team. Find the team by name or ID, and the user by name or email. Inputs: role, team_id, team_name, user |
assign_task | 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. Inputs: task_id, user |
create_position | Create a new job position/title in your organization (admin only). Inputs: description, permissions, title |
create_project | Create a new project in your organization. You will be added as the project owner. Inputs: description, name |
create_sprint | 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. Inputs: goal, name, project_id, project_name |
create_task | Create a new task in a project. Tasks track work items and can be assigned to team members and linked to sessions. Inputs: assignees, depends_on, description, due_at, priority, project_id |
create_team | Create a new team in your organization. You will be added as team lead. Inputs: description, name, objectives |
delete_document | Delete a document from the knowledge base. This permanently removes the document. Inputs: document_id |
delete_position | Delete a position permanently (admin only). Find by title or ID. Inputs: position_id, position_title |
delete_project | Delete a project permanently (admin only). Find by name or ID. Inputs: project_id, project_name |
delete_task | Delete a task permanently. The task and all its assignee links are removed. Inputs: task_id |
delete_team | Delete a team permanently (admin only). Find by name or ID. Inputs: team_id, team_name |
delete_user | Delete (soft-delete) a user from your organization (admin/owner only). Inputs: user |
end_session | End a work session. This triggers context block generation — your activities are summarized and stored in the knowledge graph for future reference. Inputs: outcome, session_id, token_usage |
find_documents | 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. Inputs: category, limit, project_name, query, tags, team_name |
get_context | 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 + Inputs: max_tokens, project_id, project_name, query, session_id |
get_context_routing | Get the current context routing mode for the organization. Returns 'keyword_llm', 'keyword_only', or 'llm_only'. |
get_document | 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. Inputs: document_id |
get_live_activity | See what's happening right now: active sessions, recent events, traces, and tasks being worked on. Inputs: project_name, recent_minutes, team_name, user_name |
get_my_stats | Get your personal activity statistics: total sessions, events, active days, projects worked on, and recent activity summary. |
get_org_stats | Get comprehensive organization statistics: counts, engagement metrics, task velocity. |
get_project_status | Get the current status of a project including recent activity. You can use either the project name or ID. Inputs: project_id, project_name |
get_session_details | 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. Inputs: session_id |
get_team_details | Get detailed information about a team: members (with roles), linked projects, and recent activity. Use team name or ID. Inputs: team_id, team_name |
invite_user | Invite a new member to your organization (admin/owner only). Inputs: email, name, positions, role, skills, team_name |
link_task_session | 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. Inputs: session_id, task_id |
link_team_project | Link a project to a team. Find both by name or ID. Inputs: project_id, project_name, team_id, team_name |
list_colleagues | 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. Inputs: limit, team_name |
list_notifications | List your notifications — task assignments, status changes, sprint updates, invites, and more. Returns unread notifications by default. Inputs: limit, unread_only |
list_pending_invites | List pending organization invites for the current user. |
list_positions | List all job positions/titles in your organization with member counts. |
list_project_members | List all members involved in a project. Includes users who have sessions in the project and users from teams linked to the project. Inputs: project_id, project_name |
list_project_teams | List teams linked to a project. Inputs: project_id, project_name |
list_projects | List projects in your organization. No parameters needed — just call it to see all your projects. Inputs: org_id |
list_sessions | List your recent work sessions. Optionally filter by project name or ID. Shows task type, status, and event count. Inputs: limit, project_id, project_name |
list_sprints | List sprints for a project. Shows sprint number, name, goal, status (current/completed), and task count. Inputs: project_id, project_name |
list_tasks | 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. Inputs: limit, mine_only, project_name, sprint_number, status |
list_teams | List all teams in your organization. Shows team name, member count, project count, and description. |
log_activity, log_trace, log_traces_batch, mark_notification_read, move_task_to_sprint, remove_task_dependency, remove_team_member, remove_user_from_org, search_entities, set_context_routing, setup_organization, start_session, unassign_task, unlink_team_project, update_org, update_position, update_project, update_task, update_team, update_user, upload_document, whoami
Every block below points at https://api.dotnova.io/mcp. Pick your client and copy.
claude mcp add --transport http contextlayer https://api.dotnova.io/mcp
{
"mcpServers": {
"contextlayer": {
"command": "npx",
"args": ["-y", "mcp-remote", "https://api.dotnova.io/mcp"]
}
}
}{
"mcpServers": {
"contextlayer": {
"url": "https://api.dotnova.io/mcp"
}
}
}{
"servers": {
"contextlayer": {
"type": "http",
"url": "https://api.dotnova.io/mcp"
}
}
}{
"context_servers": {
"contextlayer": {
"url": "https://api.dotnova.io/mcp"
}
}
}{
"mcpServers": {
"contextlayer": {
"serverUrl": "https://api.dotnova.io/mcp"
}
}
}{
"mcpServers": {
"contextlayer": {
"url": "https://api.dotnova.io/mcp"
}
}
}name: ContextLayer
version: 0.0.1
schema: v1
mcpServers:
- name: ContextLayer
type: streamable-http
url: https://api.dotnova.io/mcp{
"mcpServers": {
"contextlayer": {
"httpUrl": "https://api.dotnova.io/mcp"
}
}
}{
"mcpServers": {
"contextlayer": {
"type": "http",
"url": "https://api.dotnova.io/mcp"
}
}
}{
"mcpServers": {
"contextlayer": {
"url": "https://api.dotnova.io/mcp"
}
}
}goose://extension?url=https%3A%2F%2Fapi.dotnova.io%2Fmcp&type=streamable_http&id=contextlayer&name=ContextLayer
It answered our last check on 19 October 2026 in 76 ms. Over 6 checks since 11 September 2026 it answered 5. Status here comes from Neuronto's own probes, not from the publisher.
62, as returned by the server's own tools/list on 12 September 2026: accept_org_invite, add_task_dependency, add_team_member, assign_task, create_position, create_project, create_sprint, create_task, and 54 more.
It answered our last check on 19 October 2026 in 76 ms. Over 6 checks since 11 September 2026 it answered 5.
Put the server under mcpServers in ~/.cursor/mcp.json with the URL https://api.dotnova.io/mcp. The exact JSON is above, with the same setup for Claude Code, Claude Desktop, VS Code, Windsurf, Zed, Gemini CLI and the rest.
It listed its tools to an anonymous client, so reading the tool list needs no key. Individual tools can still ask for credentials in their own inputs.
Publisher: io.github.dotnova. Endpoint host: api.dotnova.io. ARD identifier: urn:air:io.github.dotnova:mcp:context-layer.
First indexed 10 September 2026. The tools are exactly what the server returned; nothing on this page
is inferred from its name. Ranking in Neuronto search is never for sale.