Koskamo
Cited, versioned knowledge for agents: retrieve sourced passages and propose owner-approved fixes.
One-Click Install
Add this to your `claude_desktop_config.json` file:
{
"mcpServers": {
"koskamo": {
"url": "https://koskamo.com/api/mcp"
}
}
}Remote endpoints
https://koskamo.com/api/mcpstreamable-httpTool inventory
Tools (6)
🟢koskamo_retrieve(query, dataset, top_k)
Look up cited passages from public Koskamo datasets so an agent can answer from facts instead of guessing.
Input Schema
{
"type": "object",
"properties": {
"query": {
"type": "string",
"minLength": 1,
"maxLength": 2000,
"description": "The question or search string"
},
"dataset": {
"type": "string",
"description": "Optional dataset id or slug. Defaults to all public datasets."
},
"top_k": {
"type": "integer",
"minimum": 1,
"maximum": 12
}
},
"required": [
"query"
]
}Output Schema
{
"type": "object",
"properties": {
"query": {
"type": "string"
},
"passages": {
"type": "array",
"items": {
"type": "object",
"required": [
"text",
"score",
"datasetId",
"datasetSlug",
"datasetName",
"datasetVersion",
"documentId",
"documentTitle",
"documentVersion",
"sourceUrl",
"chunkId",
"ordinal",
"version",
"createdAt"
],
"properties": {
"text": {
"type": "string"
},
"score": {
"type": "number",
"description": "Ranking score within the retrieval engine; not a confidence probability"
},
"datasetId": {
"type": "string"
},
"datasetSlug": {
"type": "string"
},
"datasetName": {
"type": "string"
},
"datasetVersion": {
"type": "integer",
"description": "Dataset version at retrieval time; cite this"
},
"documentId": {
"type": "string"
},
"documentTitle": {
"type": "string"
},
"documentVersion": {
"type": "integer",
"description": "Document content version; increments when an approved revision replaces the document"
},
"sourceUrl": {
"type": "string"
},
"chunkId": {
"type": "string",
"description": "Chunk uuid for database-backed datasets; dataset:document:ordinal for the bundled catalog"
},
"ordinal": {
"type": "integer",
"description": "Chunk position inside the source document"
},
"version": {
"type": "integer",
"description": "Alias of datasetVersion kept for existing citers"
},
"createdAt": {
"type": "string",
"format": "date-time",
"description": "Document creation timestamp"
}
}
}
}
},
"required": [
"query",
"passages"
]
}🟢koskamo_list_datasets
List public Koskamo datasets an agent may retrieve from.
Input Schema
{
"type": "object",
"properties": {}
}Output Schema
{
"type": "object",
"properties": {
"datasets": {
"type": "array",
"items": {
"type": "object",
"required": [
"id",
"slug",
"name",
"description",
"visibility",
"version",
"documentCount",
"createdAt"
],
"properties": {
"id": {
"type": "string",
"format": "uuid"
},
"slug": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": "string"
},
"visibility": {
"type": "string",
"enum": [
"public",
"private"
]
},
"version": {
"type": "integer",
"description": "Increments every time a document write goes live"
},
"documentCount": {
"type": "integer"
},
"createdAt": {
"type": "string",
"format": "date-time"
},
"publisher": {
"type": "string",
"description": "Publisher attribution, when supplied"
},
"license": {
"type": "string",
"description": "Reuse information, when supplied; consult the original source"
},
"reviewedAt": {
"type": "string",
"format": "date-time",
"description": "Editorial review date, when supplied"
},
"readOnly": {
"type": "boolean",
"description": "Application-maintained reference datasets do not accept API revisions"
}
}
}
}
},
"required": [
"datasets"
]
}🟡koskamo_propose_revision(dataset, action, title, text, rationale, ...)
Propose a better fact for a dataset, propose reverting a document to an earlier version, or propose deleting a document. The change stays pending until a dataset owner approves it.
Input Schema
{
"type": "object",
"properties": {
"dataset": {
"type": "string",
"description": "Dataset id or slug"
},
"action": {
"type": "string",
"enum": [
"add_document",
"replace_document",
"delete_document"
],
"description": "Defaults to add_document. delete_document needs only dataset and document_id."
},
"title": {
"type": "string",
"description": "Required unless action is delete_document"
},
"text": {
"type": "string",
"description": "The improved document text; required unless action is delete_document"
},
"rationale": {
"type": "string"
},
"document_id": {
"type": "string",
"description": "Set to replace or delete an existing document"
},
"restore_version": {
"type": "integer",
"minimum": 1,
"description": "With replace_document and document_id, propose reverting the document to this stored version; title/text are taken from the version history."
},
"source_url": {
"type": "string"
}
},
"required": [
"dataset"
]
}Output Schema
{
"type": "object"
}🟢koskamo_get_history(dataset)
Get the document version timeline for a public dataset: every document (including deleted ones) with the version history produced by approved revisions.
Input Schema
{
"type": "object",
"properties": {
"dataset": {
"type": "string",
"description": "Dataset id or slug"
}
},
"required": [
"dataset"
]
}Output Schema
{
"type": "object"
}🟢koskamo_list_revisions(dataset)
List pending revisions for a dataset.
Input Schema
{
"type": "object",
"properties": {
"dataset": {
"type": "string"
}
},
"required": [
"dataset"
]
}Output Schema
{
"type": "object"
}🔴koskamo_decide_revision(revision_id, decision, note)
Approve or reject a pending revision. Requires the dataset owner's API key or KNOWLEDGE_ADMIN_KEY. Approved text is chunked and becomes retrievable.
Input Schema
{
"type": "object",
"properties": {
"revision_id": {
"type": "string",
"description": "Revision id returned by koskamo_propose_revision or koskamo_list_revisions"
},
"decision": {
"type": "string",
"enum": [
"approved",
"rejected"
]
},
"note": {
"type": "string",
"description": "Optional review note"
}
},
"required": [
"revision_id",
"decision"
]
}Output Schema
{
"type": "object"
}