ContextLayer
REMOTE · API.DOTNOVA.IO · SCANNED SEP 20
Intelligent context infrastructure for AI teams: knowledge graph, sessions, tasks, documents.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security57
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 62 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- HSTS check failed: the Strict-Transport-Security header is absent. See how to fix → View diagnostics → Fail
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability86
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 7903 tokens (~121/item across 65 items; 62 tools + 3 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management100
- No destabilizing schema changes in the last 30 days.Pass
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety75
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- 0 of 11 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "delete_document" implies "delete" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
- An AI judge read all 64 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities60
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
How do I install the ContextLayer MCP server?
ContextLayer is a hosted endpoint at https://api.dotnova.io/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · api.dotnova.io
claude mcp add --transport http dotnova-context-layer 'https://api.dotnova.io/mcp'
{
"mcpServers": {
"dotnova-context-layer": {
"url": "https://api.dotnova.io/mcp"
}
}
} {
"servers": {
"dotnova-context-layer": {
"type": "http",
"url": "https://api.dotnova.io/mcp"
}
}
} [mcp_servers.dotnova-context-layer] url = "https://api.dotnova.io/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"dotnova-context-layer": {
"type": "remote",
"url": "https://api.dotnova.io/mcp",
"enabled": true
}
}
} openclaw mcp add dotnova-context-layer --url 'https://api.dotnova.io/mcp' --transport streamable-http
mcp_servers:
dotnova-context-layer:
url: "https://api.dotnova.io/mcp" {
"McpServers": {
"dotnova-context-layer": {
"Transport": "http",
"Url": "https://api.dotnova.io/mcp"
}
}
} assistant mcp add dotnova-context-layer -t streamable-http -u 'https://api.dotnova.io/mcp'
{
"mcpServers": {
"dotnova-context-layer": {
"type": "http",
"url": "https://api.dotnova.io/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 26 Aug 26 −1
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 25 Aug 26 0
- Stability: 0.97 → pass security
- 24 Aug 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 93 to 97. That category is still filling its 30-day observation window: 28 days of observed history at the previous scan, 29 at this one. The score rises as the window fills, whether or not the server changes.
- 11 Aug 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 6 Aug 26 0
- Authorization: Authorisation not fully verified: no authorisation is required to call this server, and 62 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. security
- Schema quality: unverified → fail ▼ functional
- Schema quality: 2231 → 121 ▲ functional
- Tool coverage: unverified → 100 ▲ functional
- First check of Schema quality: 100 functional
- First check of Tool coverage: 100 functional
- New resource “Current Block” functional
- New resource “Projects” functional
- New resource “User Profile” functional
- New tool “accept_org_invite” functional
- New tool “add_task_dependency” functional
- New tool “add_team_member” functional
- New tool “assign_task” functional
- New tool “create_position” functional
- New tool “create_project” functional
- New tool “create_sprint” functional
- New tool “create_task” functional
- New tool “create_team” functional
- New tool “delete_document” functional
- New tool “delete_position” functional
- New tool “delete_project” functional
- New tool “delete_task” functional
- New tool “delete_team” functional
- New tool “delete_user” functional
- New tool “end_session” functional
- New tool “find_documents” functional
- New tool “get_context” functional
- New tool “get_context_routing” functional
- New tool “get_document” functional
- New tool “get_live_activity” functional
- New tool “get_my_stats” functional
- New tool “get_org_stats” functional
- New tool “get_project_status” functional
- New tool “get_session_details” functional
- New tool “get_team_details” functional
- New tool “invite_user” functional
- New tool “link_task_session” functional
- New tool “link_team_project” functional
- New tool “list_colleagues” functional
- New tool “list_notifications” functional
- New tool “list_pending_invites” functional
- New tool “list_positions” functional
- New tool “list_project_members” functional
- New tool “list_project_teams” functional
- New tool “list_projects” functional
- New tool “list_sessions” functional
- New tool “list_sprints” functional
- New tool “list_tasks” functional
- New tool “list_teams” functional
- New tool “log_activity” functional
- New tool “log_trace” functional
- New tool “log_traces_batch” functional
- New tool “mark_notification_read” functional
- New tool “move_task_to_sprint” functional
- New tool “remove_task_dependency” functional
- New tool “remove_team_member” functional
- New tool “remove_user_from_org” functional
- New tool “search_entities” functional
- New tool “set_context_routing” functional
- New tool “setup_organization” functional
- New tool “start_session” functional
- New tool “unassign_task” functional
- New tool “unlink_team_project” functional
- New tool “update_org” functional
- New tool “update_position” functional
- New tool “update_project” functional
- New tool “update_task” functional
- New tool “update_team” functional
- New tool “update_user” functional
- New tool “upload_document” functional
- New tool “whoami” functional
- 31 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 30 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 27 Jul 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 20 Sept 2026 · Probed https://api.dotnova.io/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=api.dotnova.io | CN=YE2,O=Let's Encrypt,C=US | 4 Sept 2026 | 3 Dec 2026 | ECDSA 256 | ECDSA-SHA384 | 5eed67061c17caf3f5dbc691a3f56b22b9d |
| SANs: api.dotnova.io | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of api.dotnova.io. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| io. | present | 57355 | 8 | Verified |
| dotnova.io. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://api.dotnova.io/mcp | Verified | 200 | |
| http (plaintext) | http://api.dotnova.io/mcp | HTTPS enforced | 308 | https://api.dotnova.io/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
accept_org_invite ~34
Accept a pending organization invite by organization name.
| Name | Type | Req | Description |
|---|---|---|---|
| org_name | string | yes | Organization name to accept the invite for |
No output schema declared.
No examples provided.
add_task_dependency ~138
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.
| Name | Type | Req | Description |
|---|---|---|---|
| dependency_type | string|null | – | Dependency type: 'blocks' (must complete before) or 'relates_to' (informational link). Default: blocks |
| depends_on_task_id | string | yes | The task that blocks (the dependency / prerequisite) |
| task_id | string | yes | The task that is blocked (depends on the other task) |
No output schema declared.
No examples provided.
add_team_member ~100
Add a member to a team. Find the team by name or ID, and the user by name or email.
| Name | Type | Req | Description |
|---|---|---|---|
| role | string|null | – | Role in team: member or lead (default: member) |
| team_id | string|null | – | Team ID (optional if team_name is provided) |
| team_name | string|null | – | Team name (optional if team_id is provided) |
| user | string | yes | User name or email to add |
No output schema declared.
No examples provided.
assign_task ~60
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.
| Name | Type | Req | Description |
|---|---|---|---|
| task_id | string | yes | Task ID |
| user | string | yes | User name or email to assign |
No output schema declared.
No examples provided.
create_position ~91
Create a new job position/title in your organization (admin only).
| Name | Type | Req | Description |
|---|---|---|---|
| description | string|null | – | Position description (optional) |
| permissions | – | – | JSON object mapping permission keys to booleans, e.g. {"can_view_all_projects": true, "can_manage_documents": false}. Use list_positions to see all available permission keys. |
| title | string | yes | Position title (e.g. 'Frontend Developer') |
No output schema declared.
No examples provided.
create_project ~46
Create a new project in your organization. You will be added as the project owner.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string|null | – | Project description (optional) |
| name | string | yes | Project name |
No output schema declared.
No examples provided.
create_sprint ~113
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.
| Name | Type | Req | Description |
|---|---|---|---|
| goal | string|null | – | Sprint goal (optional) |
| name | string|null | – | Sprint name (default: 'Sprint N') |
| project_id | string|null | – | Project ID (alternative to project_name) |
| project_name | string|null | – | Project name |
No output schema declared.
No examples provided.
create_task ~277
Create a new task in a project. Tasks track work items and can be assigned to team members and linked to sessions.
| Name | Type | Req | Description |
|---|---|---|---|
| assignees | array|null | – | Assignee names or emails (optional — resolves to user IDs) |
| depends_on | array|null | – | Task IDs that this task depends on / is blocked by (optional). Creates 'blocks' dependencies. |
| description | string|null | – | Task description (optional) |
| due_at | string|null | – | Due date in ISO 8601 format (e.g. '2026-03-15T00:00:00Z') |
| priority | string|null | – | Priority: low, medium, high, urgent (default: medium) |
| project_id | string|null | – | Project ID (alternative to project_name) |
| project_name | string|null | – | Project name to create the task in |
| sprint_number | integer|null | – | Sprint number to assign the task to (optional — auto-assigns to current sprint if omitted) |
| tags | array|null | – | Tags for categorization (e.g. ['bug', 'frontend']) |
| team_id | string|null | – | Team ID (alternative to team_name) |
| team_name | string|null | – | Team name to assign to (optional — resolves to team ID) |
| title | string | yes | Task title |
No output schema declared.
No examples provided.
create_team ~62
Create a new team in your organization. You will be added as team lead.
| Name | Type | Req | Description |
|---|---|---|---|
| description | string|null | – | Team description (optional) |
| name | string | yes | Team name |
| objectives | array|null | – | Team objectives as a list of strings (optional) |
No output schema declared.
No examples provided.
delete_document ~34
Delete a document from the knowledge base. This permanently removes the document.
| Name | Type | Req | Description |
|---|---|---|---|
| document_id | string | yes | Document ID to delete |
No output schema declared.
No examples provided.
delete_position ~58
Delete a position permanently (admin only). Find by title or ID.
| Name | Type | Req | Description |
|---|---|---|---|
| position_id | string|null | – | Position ID (optional if position_title is provided) |
| position_title | string|null | – | Position title (optional if position_id is provided) |
No output schema declared.
No examples provided.
delete_project ~58
Delete a project permanently (admin only). Find by name or ID.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string|null | – | Project ID (optional if project_name is provided) |
| project_name | string|null | – | Project name (optional if project_id is provided) |
No output schema declared.
No examples provided.
delete_task ~36
Delete a task permanently. The task and all its assignee links are removed.
| Name | Type | Req | Description |
|---|---|---|---|
| task_id | string | yes | Task ID to delete |
No output schema declared.
No examples provided.
delete_team ~58
Delete a team permanently (admin only). Find by name or ID.
| Name | Type | Req | Description |
|---|---|---|---|
| team_id | string|null | – | Team ID (optional if team_name is provided) |
| team_name | string|null | – | Team name (optional if team_id is provided) |
No output schema declared.
No examples provided.
delete_user ~37
Delete (soft-delete) a user from your organization (admin/owner only).
| Name | Type | Req | Description |
|---|---|---|---|
| user | string | yes | User name or email to delete |
No output schema declared.
No examples provided.
end_session ~113
End a work session. This triggers context block generation — your activities are summarized and stored in the knowledge graph for future reference.
| Name | Type | Req | Description |
|---|---|---|---|
| outcome | string | yes | Outcome: success, failure, partial, abandoned |
| session_id | string | yes | Session ID to end |
| token_usage | – | – | Token usage for this session. JSON object with fields: input_tokens (int), output_tokens (int), total_tokens (int), model (string), estimated_cost_usd (float). Optional — set when the agent can repor… |
No output schema declared.
No examples provided.
find_documents ~133
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.
| Name | Type | Req | Description |
|---|---|---|---|
| category | string|null | – | Filter by category: template, policy, procedure, reference, contract, guide, checklist |
| limit | integer|null | – | Maximum results (default 10) |
| project_name | string|null | – | Filter by project name |
| query | string|null | – | Search query (matches title and content) |
| tags | array|null | – | Filter by tags |
| team_name | string|null | – | Filter by team name |
No output schema declared.
No examples provided.
get_context ~169
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.
| Name | Type | Req | Description |
|---|---|---|---|
| max_tokens | integer|null | – | Maximum tokens for the response (default 500) |
| project_id | string|null | – | Project ID (optional — if omitted, returns across all projects) |
| project_name | string|null | – | Project name (optional, alternative to project_id) |
| query | string | yes | The user's question or intent — used for intelligent context routing. Describe what context is needed. |
| session_id | string|null | – | Session ID (optional — if omitted, returns user-level context) |
No output schema declared.
No examples provided.
get_context_routing ~36
Get the current context routing mode for the organization. Returns 'keyword_llm', 'keyword_only', or 'llm_only'.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_document ~72
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.
| Name | Type | Req | Description |
|---|---|---|---|
| document_id | string | yes | Document ID |
No output schema declared.
No examples provided.
get_live_activity ~98
See what's happening right now: active sessions, recent events, traces, and tasks being worked on.
| Name | Type | Req | Description |
|---|---|---|---|
| project_name | string|null | – | Filter by project name (optional) |
| recent_minutes | integer|null | – | Time window for recent events in minutes (default: 30) |
| team_name | string|null | – | Filter by team name (optional) |
| user_name | string|null | – | Filter by user name (optional, partial match) |
No output schema declared.
No examples provided.
get_my_stats ~32
Get your personal activity statistics: total sessions, events, active days, projects worked on, and recent activity summary.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_org_stats ~22
Get comprehensive organization statistics: counts, engagement metrics, task velocity.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_project_status ~66
Get the current status of a project including recent activity. You can use either the project name or ID.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string|null | – | Project ID (optional if project_name is provided) |
| project_name | string|null | – | Project name (optional, alternative to project_id) |
No output schema declared.
No examples provided.
get_session_details ~70
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.
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | yes | Session ID to get details for |
No output schema declared.
No examples provided.
get_team_details ~70
Get detailed information about a team: members (with roles), linked projects, and recent activity. Use team name or ID.
| Name | Type | Req | Description |
|---|---|---|---|
| team_id | string|null | – | Team ID (optional if team_name is provided) |
| team_name | string|null | – | Team name (optional if team_id is provided) |
No output schema declared.
No examples provided.
invite_user ~104
Invite a new member to your organization (admin/owner only).
| Name | Type | Req | Description |
|---|---|---|---|
| string | yes | User email address | |
| name | string | yes | Full name |
| positions | array|null | – | Position titles to assign (optional — resolves by name) |
| role | string|null | – | Role: member or admin (default: member) |
| skills | array|null | – | Skills list (optional) |
| team_name | string|null | – | Team name to add user to (optional) |
No output schema declared.
No examples provided.
link_task_session ~64
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.
| Name | Type | Req | Description |
|---|---|---|---|
| session_id | string | yes | Session ID to link to the task |
| task_id | string | yes | Task ID to link |
No output schema declared.
No examples provided.
link_team_project ~95
Link a project to a team. Find both by name or ID.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string|null | – | Project ID (optional if project_name is provided) |
| project_name | string|null | – | Project name (optional if project_id is provided) |
| team_id | string|null | – | Team ID (optional if team_name is provided) |
| team_name | string|null | – | Team name (optional if team_id is provided) |
No output schema declared.
No examples provided.
list_colleagues ~79
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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer|null | – | Maximum results (default 20) |
| team_name | string|null | – | Filter by team name (optional — shows only members of that team) |
No output schema declared.
No examples provided.
list_notifications ~63
List your notifications — task assignments, status changes, sprint updates, invites, and more. Returns unread notifications by default.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer|null | – | Maximum results (default 20) |
| unread_only | boolean|null | – | Only return unread notifications (default: true) |
No output schema declared.
No examples provided.
list_pending_invites ~19
List pending organization invites for the current user.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_positions ~21
List all job positions/titles in your organization with member counts.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
list_project_members ~61
List all members involved in a project. Includes users who have sessions in the project and users from teams linked to the project.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string|null | – | Project ID |
| project_name | string|null | – | Project name (alternative to project_id) |
No output schema declared.
No examples provided.
list_project_teams ~44
List teams linked to a project.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string|null | – | Project ID |
| project_name | string|null | – | Project name (alternative to project_id) |
No output schema declared.
No examples provided.
list_projects ~45
List projects in your organization. No parameters needed — just call it to see all your projects.
| Name | Type | Req | Description |
|---|---|---|---|
| org_id | string|null | – | Optional organization ID (uses default org if omitted) |
No output schema declared.
No examples provided.
list_sessions ~82
List your recent work sessions. Optionally filter by project name or ID. Shows task type, status, and event count.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer|null | – | Maximum results (default 10) |
| project_id | string|null | – | Filter by project ID (optional) |
| project_name | string|null | – | Filter by project name (optional, alternative to project_id) |
No output schema declared.
No examples provided.
list_sprints ~61
List sprints for a project. Shows sprint number, name, goal, status (current/completed), and task count.
| Name | Type | Req | Description |
|---|---|---|---|
| project_id | string|null | – | Project ID (alternative to project_name) |
| project_name | string|null | – | Project name |
No output schema declared.
No examples provided.
list_tasks ~137
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.
| Name | Type | Req | Description |
|---|---|---|---|
| limit | integer|null | – | Maximum results (default 20) |
| mine_only | boolean|null | – | Filter tasks assigned to me only (default: false) |
| project_name | string|null | – | Filter by project name (optional) |
| sprint_number | integer|null | – | Filter by sprint number (optional) |
| status | string|null | – | Filter by status: todo, in_progress, done, cancelled (optional) |
No output schema declared.
No examples provided.
list_teams ~29
List all teams in your organization. Shows team name, member count, project count, and description.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
log_activity ~181
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.
| Name | Type | Req | Description |
|---|---|---|---|
| content | string | yes | Free-form content describing the activity |
| event_type | string | yes | Event type: code_change, file_edit, command_run, decision, note, conversation, discovery |
| project_id | string|null | – | Project ID (optional if project_name is provided) |
| project_name | string|null | – | Project name (optional, alternative to project_id — used for auto-session) |
| session_id | string|null | – | Session ID (optional — if omitted, a session is auto-created or reused for the project) |
| source | string|null | – | Source of the event (e.g. 'claude-code', 'cursor', 'user') |
No output schema declared.
No examples provided.
log_trace ~235
Log a granular agent action trace. High-frequency, no LLM processing.
| Name | Type | Req | Description |
|---|---|---|---|
| duration_ms | integer|null | – | Duration in milliseconds (optional) |
| metadata | – | – | Free-form JSON metadata (optional) |
| parent_trace_id | string|null | – | Parent trace ID for nesting (e.g. tool_call -> file_reads) |
| project_id | string|null | – | Project ID (optional, alternative to project_name) |
| project_name | string|null | – | Project name (optional, used for auto-session resolution) |
| session_id | string|null | – | Session ID (optional — auto-resolved from project if omitted) |
| status | string|null | – | Status: started, completed, failed (default: completed) |
| summary | string | yes | Short description of the action |
| task_id | string|null | – | Task ID to link this trace to (optional — auto-links session to task) |
| trace_id | string|null | – | Logical trace group ID (auto-generated if omitted) |
| trace_type | string | yes | Trace type: tool_call, file_read, file_write, code_search, code_edit, api_call, thinking, error |
No output schema declared.
No examples provided.
log_traces_batch ~34
Log multiple traces in a single batch.
| Name | Type | Req | Description |
|---|---|---|---|
| traces | array | yes | Array of traces to log in a single batch |
No output schema declared.
No examples provided.
mark_notification_read ~63
Mark a notification as read, or mark all notifications as read at once.
| Name | Type | Req | Description |
|---|---|---|---|
| mark_all | boolean|null | – | Set to true to mark ALL notifications as read |
| notification_id | string|null | – | Notification ID to mark as read (omit to use mark_all) |
No output schema declared.
No examples provided.
move_task_to_sprint ~86
Move a task to a different sprint. Specify the target sprint by number or ID.
| Name | Type | Req | Description |
|---|---|---|---|
| project_name | string|null | – | Project name (needed if using sprint_number) |
| sprint_id | string|null | – | Target sprint ID (alternative to sprint_number) |
| sprint_number | integer|null | – | Target sprint number |
| task_id | string | yes | Task ID to move |
No output schema declared.
No examples provided.
remove_task_dependency ~54
Remove a dependency between tasks. This unblocks the task from the other task.
| Name | Type | Req | Description |
|---|---|---|---|
| depends_on_task_id | string | yes | The task that was blocking it |
| task_id | string | yes | The task that was blocked |
No output schema declared.
No examples provided.
remove_team_member ~81
Remove a member from a team. Find the team by name or ID, and the user by name or email.
| Name | Type | Req | Description |
|---|---|---|---|
| team_id | string|null | – | Team ID (optional if team_name is provided) |
| team_name | string|null | – | Team name (optional if team_id is provided) |
| user | string | yes | User name or email to remove |
No output schema declared.
No examples provided.
remove_user_from_org ~43
Remove a user from the current organization without deleting their account. Admin/owner only.
| Name | Type | Req | Description |
|---|---|---|---|
| user | string | yes | User name or email to remove from the organization |
No output schema declared.
No examples provided.
search_entities ~92
Search entities in the knowledge graph by name. Finds people, companies, documents, concepts, tools, etc. that have been mentioned in your activities.
| Name | Type | Req | Description |
|---|---|---|---|
| entity_type | string|null | – | Entity type filter: person, company, document, concept, tool, template, process |
| limit | integer|null | – | Maximum results (default 10) |
| query | string | yes | Search query string (matches entity names) |
No output schema declared.
No examples provided.
set_context_routing ~89
Set the context routing mode for the organization. Requires admin role. Options: 'keyword_llm' (balanced), 'keyword_only' (fastest), 'llm_only' (most accurate).
| Name | Type | Req | Description |
|---|---|---|---|
| mode | string | yes | Routing mode: 'keyword_llm' (keyword + LLM fallback), 'keyword_only' (fastest), or 'llm_only' (most accurate) |
No output schema declared.
No examples provided.
What is the ContextLayer MCP server?
ContextLayer is an MCP server listed in the public MCP registry as io.github.DotNova/context-layer. Intelligent context infrastructure for AI teams: knowledge graph, sessions, tasks, documents. This page covers its hosted endpoint (https://api.dotnova.io/mcp).
Is the ContextLayer MCP server safe to use?
ContextLayer scores 77 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the ContextLayer MCP server expose?
ContextLayer exposes 62 tools: accept_org_invite, add_task_dependency, add_team_member, assign_task, create_position, and 57 more. Their descriptions and schemas cost roughly 5,634 tokens of context every time the server is loaded.
Does the ContextLayer MCP server require authentication?
No. We connected to ContextLayer without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the ContextLayer MCP server still maintained?
ContextLayer is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.