cks-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {} |
| prompts | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| validate_knowledgeA | Validate a Canonical Knowledge Structure. Returns validation result and diagnostics. Optionally accepts 'session_id' to validate an existing session's current state instead of creating a new one. Optionally accepts 'extensions' to opt into additional, non-default validation rules for this call only (see 'extensions' parameter). Returns a 'session_id' that can be used with list_versions and revert_version to track and manage version history. |
| serialize_knowledgeA | Serialize a Knowledge Structure into its canonical JSON representation. Optionally accepts 'session_id' to serialize the current state of an existing session. |
| explain_knowledgeA | Produce a human-readable explanation of a Knowledge Structure. Optionally accepts 'session_id' to explain the current state of an existing session. |
| evolve_knowledgeB | Apply structural evolution operators to a Knowledge Structure. Returns a new 'session_id' and 'version_id'. The 'session_id' can be used with list_versions and revert_version. |
| merge_knowledgeA | Three-way merge of Knowledge Structures. Provide a common ancestor (base) and two independently evolved branches. Returns the merged structure or a list of conflicts if automatic resolution is impossible. |
| create_branchA | Fork a new session from an existing one. Use this to isolate an experiment, explore an alternative modeling approach, or try a risky edit without touching the parent session -- if the branch doesn't pan out, close_session it; if it does, merge_branch it back into the parent. |
| merge_branchA | Session-aware three-way merge: merge a branch session's changes into a target session. The merge base is resolved automatically from the branch's recorded fork point (set by create_branch), so -- unlike merge_knowledge -- you never supply the base yourself. On success, commits the merged result as a new version of the target session. On conflict, returns a 'conflicts' list (object_id, target_diff, source_diff) instead of merging. Do not call merge_branch again unchanged after a conflict -- retry it with a 'resolutions' argument covering each conflicting object_id (see the 'resolutions' parameter), which merges everything -- non-conflicting changes and now-resolved conflicts alike -- in this one call; identities you don't supply a resolution for are reported again. Only if you'd rather change the target session's content directly, apply your resolution there with evolve_knowledge and retry merge_branch with no resolutions. Either way, close_session the source branch once it has been fully integrated. |
| close_sessionA | Close a session, releasing it from the runtime. Typical use: after merge_branch reports success, close_session the source branch that was just merged in -- it has been integrated and no longer needs to stay open. |
| query_subgraphA | Extract the local k‑hop neighbourhood around one or more seed ids from a session's current Knowledge Structure. Returns a self‑contained subgraph (serialized) and metadata: total_found_nodes, returned_nodes, is_truncated, truncation_reason, suggested_next_seed. Use filters (include_relation_types, include_object_types) to narrow the traversal, and max_tokens/max_objects to cap the result. type_weights can prioritise certain object types when the budget forces truncation. |
| search_semanticA | Semantically search the Knowledge Structure of a session. Provide a natural language query; if the storage backend has a vector index (embeddings generated via the background outbox worker), matching seed objects are found automatically. Pass explicit 'seed_ids' instead when you already know which objects to expand around, or as a fallback if no embeddings have been generated yet for this session. The tool expands the neighbourhood around the matched seeds using query_subgraph. Use this when you don't know exact object IDs but have a description of what you're looking for. |
| get_metricsA | Return runtime metrics and the tool telemetry dashboard. 'runtime_metrics' contains invocation counts and average execution times per runtime operation type. 'tool_telemetry' contains per-MCP-tool call counts, success rates, latency percentiles (p50/p95/p99), and top error types since the server started. |
| verify_sourceA | Verify an external source by performing a real HTTP request. Creates a VerificationRecord that can be validated. |
| list_versionsA | List all available versions of a session's history. Requires a 'session_id' obtained from a previous call to validate_knowledge or evolve_knowledge. |
| revert_versionA | Revert a session's Knowledge Structure to a specific previous version. Requires a 'session_id' obtained from a previous call to validate_knowledge or evolve_knowledge. |
| compare_versionsC | Compare the current state of a session against a target version. The returned diff is directional. 'direction' explicitly describes how to interpret the changes. 'base_version_id' is the historical version being compared against. 'target_version_id' is the current session state. The response also contains a semantic summary (added/removed objects and relations) to make interpretation easier for LLMs. |
| visualize_graphA | Export a subgraph as a Mermaid diagram. Many MCP clients render Mermaid natively; if yours doesn't, the raw Mermaid text is still useful as structured output. Use this after query_subgraph to show the structure. |
| explain_diffA | Explain the differences between the current state of a session and a target version in plain English. Useful for understanding what changed without parsing raw diff output. |
| export_knowledgeA | Export a session's Knowledge Structure to another format. Supports 'json-ld', 'turtle', and 'rdf-xml'. |
| suggest_evolutionA | Given a session and a description of what to change, return the current objects/relations and guidance for constructing valid evolution operations. Use this before evolve_knowledge to reduce trial-and-error. If you already have a candidate 'operations' list (same format evolve_knowledge accepts), pass it here first to preview whether it would be valid -- this dry-runs it the same way evolve_knowledge does internally, but commits nothing, so you can check correctness before spending a real evolve_knowledge call on a guess. |
| detect_contradictionsA | Detect logical contradictions in a Knowledge Structure using the contradiction/conflict extension constraints. Supports three types of detection:
|
| fork_sandboxA | Create an isolated sandbox branch from a parent session, optionally apply a hypothesis (list of evolution operations) immediately, and show how the sandbox differs from its fork point. The parent session is never touched. Safe to discard with close_session if the hypothesis doesn't pan out. |
| construct_knowledgeA | Build a Canonical Knowledge Structure from free-form text using an LLM. The LLM extracts entities and relationships, generates a valid CKS JSON payload, which is then parsed and validated before being persisted as a new session. Provider is auto-selected (CKS_LLM_PROVIDER): a local Ollama server if reachable (no API key needed), else Anthropic if ANTHROPIC_API_KEY is set. Returns 'session_id', 'version_id', and the serialized structure. Use 'hint' to direct the extraction toward specific aspects of the text. |
| export_sessionA | Export a full session bundle for migration or archival. Unlike export_knowledge (which converts to RDF/JSON-LD), this tool packages the session's current structure, version history, and metadata into a self-contained JSON document that can be used to recreate the session in another runtime instance. Supports two formats: 'bundle' (default) — a complete migration envelope with version history; 'cks' — bare canonical CKS JSON of the current structure only. Set 'include_structures' to true to embed the full KnowledgeStructure for each historical version (may be large). |
| ingest_documentA | Fetch a public URL, extract its title, description and key topics, and return a Knowledge Structure representing the document. The document object is linked via 'mentions' relations to Topic objects for each extracted keyword. SSRF protection is applied, so private/internal URLs are refused. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| create_knowledge_graph | Create a validated knowledge graph about a topic |
| verify_claim | Verify a claim by checking a real URL and signing the result |
| explore_subgraph | Extract the local neighbourhood around an object in a knowledge graph |
| branch_and_merge | Demonstrate a branching and merging workflow on a knowledge graph |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| CKS Sessions | List of all active CKS session IDs |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Deus-corp/cks-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server