Koskamo

Knowra MCP

An official MCP server that allows AI agents to search the arXiv paper index and read structured 'Scout' reports containing methods, evidence, and limitations to help researchers evaluate new papers efficiently.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Knowra MCP logo, by KnowraVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-01Operated by Knowra
You need:Search is available without an accountScout and account usage require authentication through OAuth in supported clients, or a personal API key from the Knowra account page
MCP endpoint (Streamable HTTP)
https://mcp.knowra.app/mcp
Vendor documentation

What you can do with it

  • Search arXiv papers by topic and date range
  • Read structured Scout reports on paper methods and evidence
  • Check account usage and Scout allowance limits

Source and maintenance

Vendor evidenceRegistry 0.8.15

Protocol and capabilities

Server
Knowra 0.8.15
MCP protocol
2025-06-18
Tools
3 advertised
Resources
0 advertised
Resource templates
0 advertised
Prompts
0 advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": false
  },
  "prompts": {
    "listChanged": false
  },
  "resources": {
    "subscribe": false,
    "listChanged": false
  },
  "experimental": {}
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Knowra helps discover arXiv papers and examine them in more depth. Search returns titles, authors and abstracts; Scout provides paper-based analysis of methods, evidence, assumptions and verification points when available. Scout requires a Knowra account via OAuth or a personal API key; free accounts include 5 new Scout reports per day (resets at 00:00 UTC). Choose the breadth of search and depth of reading according to the research question and evidence needed. Decompose broad questions into distinct research dimensions when useful. Results can complement findings from other research tools and sources for broader coverage. Independent searches can run concurrently; 5-10 concurrent requests are recommended for larger batches. Independent Scout requests can also run concurrently, with up to five recommended per batch. If needed, consult source_url for the original paper. For timeouts or other retryable errors, wait at least retry_after_seconds when supplied before retrying.

Tools

3 advertised

search_papers — Search papers
Advertised by the server during the last successful anonymous check.
Advertised read-only

Discover indexed arXiv papers using titles, authors and abstracts to assess relevance. Prefer an English research topic or question, preserving important entities and phrases. For broad questions, consider distinct research dimensions and query each as useful. Independent queries can run concurrently; 5-10 concurrent requests are recommended for larger batches. Results can complement findings from other research tools and sources for broader coverage. scout_available indicates whether deeper paper-based analysis can be requested with get_scout; choose further reading according to the evidence needed. Use from/to as YYYY-MM-DD UTC dates with both days included. Provide both or neither; each dated query covers at most one calendar month, with dates available from 2025-08-01 onward. Omit both for all indexed dates. For timeouts, wait at least retry_after_seconds when supplied before retrying.

search_papers input schema
{
  "type": "object",
  "title": "search_papersArguments",
  "required": [
    "query"
  ],
  "properties": {
    "to": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "To",
      "default": null,
      "examples": [
        "2026-10-02"
      ],
      "description": "Last included UTC date, YYYY-MM-DD; the entire day is included. Provide both from and to. At most one calendar month after from; same-day queries valid."
    },
    "from": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "From",
      "default": null,
      "examples": [
        "2026-09-26"
      ],
      "description": "First included UTC date, YYYY-MM-DD. The database supports 2025-08-01 onward. Provide both from and to, or omit both to search all supported content."
    },
    "limit": {
      "type": "integer",
      "title": "Limit",
      "default": 20,
      "maximum": 50,
      "minimum": 1,
      "examples": [
        10,
        20,
        50
      ]
    },
    "query": {
      "type": "string",
      "title": "Query",
      "pattern": "\\S",
      "examples": [
        "dense passage retrieval reranking BEIR"
      ],
      "maxLength": 2000,
      "minLength": 1,
      "description": "Prefer English natural-language research topics or questions; keep important entities and technical phrases."
    }
  }
}
search_papers output schema
{
  "type": "object",
  "$defs": {
    "Paper": {
      "type": "object",
      "title": "Paper",
      "required": [
        "paper_id",
        "title",
        "authors",
        "abstract",
        "date",
        "source_url"
      ],
      "properties": {
        "date": {
          "type": "string",
          "title": "Date",
          "format": "date-time",
          "description": "Paper date in UTC."
        },
        "title": {
          "type": "string",
          "title": "Title"
        },
        "authors": {
          "type": "array",
          "items": {
            "type": "string"
          },
          "title": "Authors"
        },
        "version": {
          "type": "integer",
          "title": "Version",
          "default": 1
        },
        "abstract": {
          "type": "string",
          "title": "Abstract"
        },
        "paper_id": {
          "type": "string",
          "title": "Paper Id"
        },
        "source_url": {
          "type": "string",
          "title": "Source Url"
        },
        "scout_available": {
          "type": "boolean",
          "title": "Scout Available",
          "default": false
        }
      }
    }
  },
  "title": "SearchResult",
  "required": [
    "papers",
    "returned"
  ],
  "properties": {
    "papers": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/Paper"
      },
      "title": "Papers"
    },
    "returned": {
      "type": "integer",
      "title": "Returned"
    },
    "query_hint": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Query Hint",
      "default": null
    }
  }
}
search_papers annotations
{
  "title": "Search papers",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_scout — Get Scout report
Advertised by the server during the last successful anonymous check.
Advertised read-only

Read a structured paper-based analysis of key signals, methodology, evidence, experimental conditions and verification points, with author-stated limitations where available. Use it when these details help assess a candidate, compare findings, or understand the context of a claim beyond the abstract. Search results mark supported papers with scout_available=true. Returns text including figure captions and descriptions. If needed, consult the original paper through source_url for further verification. Independent papers can be requested concurrently; up to five concurrent requests are recommended per batch. For a timeout, wait as indicated and retry the same paper.

get_scout input schema
{
  "type": "object",
  "title": "get_scoutArguments",
  "required": [
    "paper_id"
  ],
  "properties": {
    "paper_id": {
      "type": "string",
      "title": "Paper Id",
      "examples": [
        "arxiv:2508.12345"
      ],
      "maxLength": 128,
      "minLength": 1,
      "description": "Paper identifier from search results; scout_available indicates Scout availability."
    }
  }
}
get_scout output schema
{
  "type": "object",
  "title": "ScoutResult",
  "required": [
    "paper_id",
    "source_url",
    "scout"
  ],
  "properties": {
    "scout": {
      "type": "string",
      "title": "Scout",
      "description": "Paper-based Scout analysis with evidence, verification points and figure descriptions."
    },
    "paper_id": {
      "type": "string",
      "title": "Paper Id"
    },
    "source_url": {
      "type": "string",
      "title": "Source Url"
    }
  }
}
get_scout annotations
{
  "title": "Get Scout report",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}
get_usage — Get usage
Advertised by the server during the last successful anonymous check.
Advertised read-only

Check Scout quota, usage, remaining allowance and reset time, along with plan and entitlement details. Entitlement expiry and quota reset time describe different events.

get_usage input schema
{
  "type": "object",
  "title": "get_usageArguments",
  "properties": {}
}
get_usage output schema
{
  "type": "object",
  "title": "ScoutUsage",
  "required": [
    "user_id",
    "limit",
    "used",
    "remaining",
    "resets_at",
    "hard_limit",
    "plan_tier",
    "subscription_expired"
  ],
  "properties": {
    "used": {
      "type": "integer",
      "title": "Used"
    },
    "limit": {
      "type": "integer",
      "title": "Limit"
    },
    "user_id": {
      "type": "string",
      "title": "User Id"
    },
    "plan_tier": {
      "type": "string",
      "title": "Plan Tier"
    },
    "remaining": {
      "type": "integer",
      "title": "Remaining"
    },
    "resets_at": {
      "type": "string",
      "title": "Resets At",
      "format": "date-time"
    },
    "hard_limit": {
      "type": "boolean",
      "title": "Hard Limit"
    },
    "billing_owner": {
      "anyOf": [
        {
          "type": "string"
        },
        {
          "type": "null"
        }
      ],
      "title": "Billing Owner",
      "default": null
    },
    "entitlement_source": {
      "type": "string",
      "title": "Entitlement Source",
      "default": "free"
    },
    "subscription_expired": {
      "type": "boolean",
      "title": "Subscription Expired"
    },
    "entitlement_expires_at": {
      "anyOf": [
        {
          "type": "string",
          "format": "date-time"
        },
        {
          "type": "null"
        }
      ],
      "title": "Entitlement Expires At",
      "default": null
    }
  }
}
get_usage annotations
{
  "title": "Get usage",
  "readOnlyHint": true,
  "openWorldHint": false,
  "idempotentHint": true,
  "destructiveHint": false
}

Prompts

0 advertised

No prompt definitions available.

Resources

0 advertised

No resource definitions available.

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
2258 ms
95th percentile latency
2258 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 2258 ms · metadata changed · 3 tool(s), 0 resource(s), 0 resource template(s), 0 prompt(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http knowra-mcp https://mcp.knowra.app/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add knowra-mcp --url https://mcp.knowra.app/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable knowra-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "knowra-mcp": {
      "url": "https://mcp.knowra.app/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "knowra-mcp": {
      "type": "streamableHttp",
      "url": "https://mcp.knowra.app/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start knowra-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "knowra-mcp": {
      "type": "http",
      "url": "https://mcp.knowra.app/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http knowra-mcp https://mcp.knowra.app/mcp

Claude Desktop

Merge this into claude_desktop_config.json (macOS: ~/Library/Application Support/Claude/, Windows: %APPDATA%\Claude\), then restart Claude Desktop.
Claude Desktop configuration
{
  "mcpServers": {
    "knowra-mcp": {
      "url": "https://mcp.knowra.app/mcp"
    }
  }
}

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "knowra-mcp": {
      "serverUrl": "https://mcp.knowra.app/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Knowra MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Knowra MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing