# Claimora (remote · claimora.si)

Scientific and legal claim graph. Query claims, evidence, contradictions, and innovation flags.

- Trust score: 66/100 (medium)
- Change this week: +2
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `claimora.si`: 66/100 (this document), [markdown](https://verifymcp.io/servers/si-claimora-claimora/claimora.md), [page](https://verifymcp.io/servers/si-claimora-claimora/claimora)

## Channel facts

- Endpoint: `https://claimora.si/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.1.0`

## Trust breakdown

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. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 8 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 58/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 3556 tokens (~444/item across 8 items; 8 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 37/100
  - Stability observed for 11 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 8 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 9 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the Claimora MCP server?

Claimora is a hosted endpoint at https://claimora.si/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.

### Claude

```bash
claude mcp add --transport http si-claimora-claimora 'https://claimora.si/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "si-claimora-claimora": {
      "url": "https://claimora.si/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "si-claimora-claimora": {
      "type": "http",
      "url": "https://claimora.si/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.si-claimora-claimora]
url = "https://claimora.si/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "si-claimora-claimora": {
      "type": "remote",
      "url": "https://claimora.si/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add si-claimora-claimora --url 'https://claimora.si/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  si-claimora-claimora:
    url: "https://claimora.si/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "si-claimora-claimora": {
      "Transport": "http",
      "Url": "https://claimora.si/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add si-claimora-claimora -t streamable-http -u 'https://claimora.si/mcp'
```

### Other

```json
{
  "mcpServers": {
    "si-claimora-claimora": {
      "type": "http",
      "url": "https://claimora.si/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-04 (score 66, +1)

No change was recorded against any check on this day. Stability & Change Management went from 30 to 33. That category is still filling its 30-day observation window: 9 days of observed history at the previous scan, 10 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-02 (score 65, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-30 (score 64, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “get_evidence” rewrote its description, which is the text the model reads
- [security] Tool “get_innovation_flags” rewrote its description, which is the text the model reads
- [security] Tool “get_updates” rewrote its description, which is the text the model reads
- [security] Tool “query_claims” rewrote its description, which is the text the model reads
- [security] Tool “search_smart” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 275 → 444
- [cosmetic] “get_innovation_flags” added an optional parameter “claim_id”
- [cosmetic] “get_innovation_flags” added an optional parameter “flag_type”
- [cosmetic] “get_innovation_flags” added an optional parameter “sort”
- [cosmetic] “search_smart” added an optional parameter “exploratory”
- [cosmetic] “get_innovation_flags” reworded the description of “cross_domain_only”
- [cosmetic] “get_innovation_flags” reworded the description of “limit”
- [cosmetic] “get_innovation_flags” reworded the description of “offset”

### 2026-10-29 (score 64, −1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “get_innovation_flags” rewrote its description, which is the text the model reads
- [security] Tool “get_updates” rewrote its description, which is the text the model reads
- [security] Tool “query_claims” rewrote its description, which is the text the model reads
- [security] Tool “search_smart” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 171 → 275
- [cosmetic] “get_innovation_flags” added an optional parameter “cross_domain_only”
- [cosmetic] “query_claims” added an optional parameter “cross_domain”
- [cosmetic] “search_smart” added an optional parameter “cross_domain”
- [cosmetic] “query_claims” reworded the description of “domain”
- [cosmetic] “search_smart” reworded the description of “domain”

### 2026-10-28 (score 65, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-27 (score 64, +2)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “get_contradictions” rewrote its description, which is the text the model reads
- [security] Tool “get_evidence” rewrote its description, which is the text the model reads
- [security] Tool “get_innovation_flags” rewrote its description, which is the text the model reads
- [security] Tool “get_updates” rewrote its description, which is the text the model reads
- [security] Tool “query_claims” rewrote its description, which is the text the model reads
- [security] Tool “search_smart” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: pass → fail
- [functional improvement] Tool coverage: 65% → 100%
- [functional] Schema quality: fair → excellent
- [functional] New tool “get_authors”
- [functional] New tool “query_law”
- [cosmetic] “get_evidence” reworded the description of “claim_id”
- [cosmetic] “get_evidence” reworded the description of “full_text”
- [cosmetic] “get_innovation_flags” reworded the description of “domain”
- [cosmetic] “get_innovation_flags” reworded the description of “limit”
- [cosmetic] “get_innovation_flags” reworded the description of “min_strength”
- [cosmetic] “get_innovation_flags” reworded the description of “offset”
- [cosmetic] “get_updates” reworded the description of “domain”
- [cosmetic] “get_updates” reworded the description of “limit”
- [cosmetic] “get_updates” reworded the description of “offset”
- [cosmetic] “get_updates” reworded the description of “since”
- [cosmetic] “query_claims” reworded the description of “domain”
- [cosmetic] “query_claims” reworded the description of “filters”
- [cosmetic] “query_claims” reworded the description of “limit”
- [cosmetic] “query_claims” reworded the description of “offset”
- [cosmetic] “query_claims” reworded the description of “query”
- [cosmetic] “search_smart” reworded the description of “domain”
- [cosmetic] “search_smart” reworded the description of “limit”
- [cosmetic] “search_smart” reworded the description of “natural_language”
- [cosmetic] “search_smart” reworded the description of “offset”

### 2026-10-26 (score 62, +1)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-25 (score 61)

First indexed and scored.

## MCP tools (8)

### `query_claims` (~498 tokens)

Search claim statements and excerpts.

    A domain keeps claims whose primary domain is that value or one of its
    aliases, such as cs.LG for ai-ml. An exact multi-token phrase matches whole
    tokens. K17, PDAC, NCC, IIT, and LLM match the full names in the alias map.
    Hits are ordered by keyword overlap, then a domain match, then evidence
    strength. That retrieval order stays ahead of the stored score.
    match_reason records that the stored score is evidence_strength.
    cross_domain also keeps
    claims from other domains that carry the domain as a secondary tag.
    When the query is one domain keyword and domain is omitted, claims in
    that domain come first.

    Use this when you have keywords or a domain and want the strongest matching claims.
    Returns claim id, status, evidence strength, a shortened excerpt, match_reason,
    source_url, doi, and paper_id when those are known, up to two supporting claims, and one
    contradicting claim when one is stored. Each related claim carries that same compact pointer. unpublished is true for a private unpublished paper. Full provenance stays on get_evidence.
    status_note on a consensus claim with no stored contradiction is: No stored contradiction; not independent multi-source consensus.
    evidence_note is: Extractor confidence in the claim statement, not study quality.
    integrity_warning is set when the statement unit looks truncated relative to the excerpt, or the magnitude looks extreme relative to the excerpt. The statement and the excerpt are not rewritten.
    Example: query_claims(query="transformer", domain="ai-ml", limit=5).
    Example: query_claims(query="United States", domain="data-protection", limit=5).

Input parameters:

- `cross_domain` (boolean): Also return claims from other primary domains that carry this domain as a secondary tag. Default false.
- `domain`: Primary domain or an alias of it. Example: ai-ml.
- `filters`: Optional status, minimum evidence strength, and assertion type. Example: {"status": "consensus", "min_strength": 0.6}.
- `limit` (integer): Page size. Example: 5.
- `offset` (integer): Number of hits to skip. Example: 0.
- `query` (string, required): Text matched against the claim statement and its excerpt. Example: transformer.

Output parameters:

- `claims` (array)
- `page`

### `get_evidence` (~212 tokens)

Provenance for one claim. Excerpts are short unless full_text is true.

    unpublished is true for a private unpublished paper. The stored excerpt, page, and section stay on provenance.
    status_note on a consensus claim with no stored contradiction is: No stored contradiction; not independent multi-source consensus.
    evidence_note is: Extractor confidence in the claim statement, not study quality.
    integrity_warning is set when the statement unit looks truncated relative to the excerpt, or the magnitude looks extreme relative to the excerpt. The statement and the excerpt are not rewritten.
    Use this after a search when you have a claim id and need the papers behind it.
    Example: get_evidence(claim_id="claim-attention").
    Example: get_evidence(claim_id="claim-attention", full_text=true).

Input parameters:

- `claim_id` (string, required): Claim id returned by a search tool. Example: claim-attention.
- `full_text` (boolean): Return stored excerpts without shortening. Example: false.

Output parameters:

- `assertion_type`
- `contradiction_ids` (array)
- `domain`
- `evidence_note`: Extractor confidence in the claim statement, not study quality. evidence_strength is that extractor confidence.
- `evidence_strength`
- `found` (boolean)
- `id` (string)
- `integrity_warning`: Set when the statement unit looks truncated relative to the excerpt, or the magnitude looks extreme relative to the excerpt. The statement and the excerpt are not rewritten.
- `last_updated`
- `provenance` (array)
- `statement`
- `status`
- `status_note`: Set on a consensus claim with no stored contradiction: No stored contradiction; not independent multi-source consensus. Null for contested, outdated, or a claim that already has a contradiction.
- `unpublished` (boolean): True when this claim is from a private unpublished paper. Public sources stay false.

### `get_contradictions` (~66 tokens)

List claims stored as contradicting one claim.

    Returns each opposing claim id, status, evidence strength, and opposition strength.
    Example: get_contradictions(claim_id="<id from query_claims>").

Input parameters:

- `claim_id` (string, required): Claim id to inspect.

Output parameters:

- `claim_id` (string)
- `contradictions` (array)
- `found` (boolean)

### `get_updates` (~213 tokens)

List claims whose last_updated is at or after a timestamp.

    Use this to read claims that changed after a time you already checked.
    Returns claim id, status, evidence strength, a shortened excerpt, and source_url, doi, and paper_id when those are known.
    Example: get_updates(since="2026-01-01T00:00:00Z", domain="ai-ml", limit=20).
    Example: get_updates(since="2026-10-01T00:00:00Z", domain="consciousness", offset=20).

Input parameters:

- `domain`: Restrict results to one domain. Example: ai-ml.
- `limit` (integer): Page size. Example: 20.
- `offset` (integer): Number of hits to skip. Example: 0.
- `since` (string, required): ISO-8601 timestamp. Claims updated at or after this time. Example: 2026-01-01T00:00:00Z.

Output parameters:

- `claims` (array)
- `page`
- `since` (string)

### `get_innovation_flags` (~798 tokens)

List innovation flags. The default sort is discovery.

    Use this when you want links between claims rather than the claims themselves.
    Pass claim_id to navigate from one claim to the flags that contain it. Each hit includes flag_type, strength, summary, the other claim ids, and those claims' primary domains. Filters are flag_type, min_strength, and cross_domain_only. The claim list is ranked by relationship strength and novelty. A path that only names the claim, a partner that repeats the claim, and a near-duplicate of a partner already returned are omitted.
    Discovery combines relationship strength, novelty, and conceptual overlap. Near-duplicate claims rank lower on the first page and remain in the list. sort strength orders by the stored relationship strength.
    Every flag includes flag_type, cross_domain, complementary, and summary. summary says why the claims are linked.
    complementary is a ranking hint when two independent sources share a measurable variable or process and discuss different aspects. It reuses relationship_basis, does not change flag_type, and does not state a hypothesis. A weak link stays weak.
    flag_type is lexical_association for shared terminology with no substantive relation, scientific_connection for a conceptual or methodological relationship, contradiction for a stored disagreement, or innovation when the claims state a mechanism that could transfer. lexical selects the same weak rows.
    cross_domain is true when the claims have different primary domains. It is not a flag_type and does not raise strength.
    Older rows may still use cross_domain or research_hypothesis.
    strength is computed for that pair. It is not claim evidence strength. A weak lexical link stays low and remains when min_strength is omitted or 0.
    Returns flag id, domain, summary, strength, flag_type, cross_domain, connected_domain, the claim ids on each path, and a claims array in that same order.
    Each claims item has claim_id, stateme…

Input parameters:

- `claim_id`: Return flags whose path contains this claim. Example: claim-attention.
- `cross_domain_only`: When true, return only flags whose connected_domain is set. Null and the default are false.
- `domain`: Restrict flags to one domain. Example: ai-ml.
- `flag_type`: Keep one flag_type. lexical and lexical_association are the same weak class. Empty returns every type.
- `limit`: Page size. Example: 10. Null uses 20.
- `min_strength`: Drop flags below this strength, from 0 to 1. Example: 0.5.
- `offset`: Number of hits to skip. Example: 0. Null uses 0.
- `sort`: discovery combines relationship strength, novelty, and conceptual overlap. strength orders by the stored relationship strength. Null and the default are discovery.

Output parameters:

- `flags` (array)
- `page`

### `search_smart` (~609 tokens)

Find claims from a natural-language question.

    The central research concept and its scientific synonyms outrank incidental context words. Generic overlap that does not address the question is penalized. A keyword with no function word stays on the lexical match.
    A question tries its content phrases first. When that match is thin, extracted concepts, shorter phrases, and synonyms are combined and deduplicated before ranking. Exact keywords are not required.
    Question hits stay on strategy question. fallback is null when the content-phrase match already addressed the concept, keyword when every hit came from a literal concept or shorter phrase, and expanded when a synonym supplied a hit. Rank puts the concept above context words. Retrieval relevance stays ahead of evidence_strength, and match_reason records that the stored score is evidence_strength. A lexical phrase matches whole tokens. K17, PDAC, NCC, IIT, and LLM match the full names in the alias map.
    notice is no_matching_claims when nothing matches. notice is no_evidence when every returned hit has an empty excerpt. A hit with an empty excerpt says no evidence in match_reason.
    exploratory true keeps matches under the default relevance threshold.
    Each hit includes match_reason, source_url, doi, and paper_id when those are known, up to two supporting claims, and one contradicting claim when one is stored. Each related claim carries that same compact pointer. unpublished is true for a private unpublished paper. Full provenance stays on get_evidence.
    status_note on a consensus claim with no stored contradiction is: No stored contradiction; not independent multi-source consensus.
    evidence_note is: Extractor confidence in the claim statement, not study quality.
    integrity_warning is set when the statement unit looks truncated relative to the excerpt, or the magnitude looks extreme relative to the excerpt. The statement and the excerpt are not rewritten.

    A domain keeps claims who…

Input parameters:

- `cross_domain` (boolean): Also return claims from other primary domains that carry this domain as a secondary tag. Default false.
- `domain`: Primary domain or an alias of it. Example: ai-ml.
- `exploratory` (boolean): Keep weaker matches that miss the central concept. Default false applies a light relevance threshold.
- `limit` (integer): Page size. Example: 5.
- `natural_language` (string, required): A question or description of the claims you want. Example: How do transformers handle long context?
- `offset` (integer): Number of hits to skip. Example: 0.

Output parameters:

- `claims` (array)
- `fallback`: keyword when a literal concept or shorter phrase supplied every hit. expanded when a scientific synonym supplied one. Null when the query is lexical, or when the content-phrase match already addresse…
- `missing_concepts` (array): Mandatory concepts the returned claim text does not fully hold. Taken from those hits, not from expanded search phrases. Empty unless notice is partial_concepts.
- `notice`: no_matching_claims when the query matches nothing. no_evidence when every returned hit has an empty excerpt. partial_concepts when the returned claims do not cover every mandatory concept. A claim th…
- `page`
- `strategy` (string): question for a natural-language question. lexical for a keyword or a phrase with no function word.

### `get_authors` (~106 tokens)

List authors linked to one claim.

    Use this when you have a claim id and need the people linked to it.
    Returns author id, name, and orcid. The list is empty when none are linked.
    Example: get_authors(claim_id="claim-attention").
    Example: get_authors(claim_id="<id from query_claims>").

Input parameters:

- `claim_id` (string, required): Claim id returned by a search tool. Example: claim-attention.

Output parameters:

- `authors` (array)
- `claim_id` (string)

### `query_law` (~175 tokens)

List law records for one jurisdiction and area of law.

    Use this when you want jurisdiction-scoped records. Omitting jurisdiction returns science claims.
    Returns record id, status, evidence strength, a shortened excerpt, jurisdiction, and area of law.
    Example: query_law(jurisdiction="DE", area_of_law="data-protection", query="consent", limit=5).
    Example: query_law(query="transformer", limit=5).

Input parameters:

- `area_of_law`: Area of law slug. Example: data-protection.
- `jurisdiction`: Jurisdiction code. Example: DE. Omit it to search science.
- `limit` (integer): Page size. Example: 5.
- `query` (string): Text matched against the statement and its excerpt. Example: consent.

Output parameters:

- `page`
- `records` (array)
- `section` (string)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/si-claimora-claimora/claimora#diagnostics

## Score history

- 2026-11-05: 66
- 2026-11-04: 66
- 2026-11-03: 65
- 2026-11-02: 65
- 2026-11-01: 64
- 2026-10-31: 64
- 2026-10-30: 64
- 2026-10-29: 64
- 2026-10-28: 65
- 2026-10-27: 64
- 2026-10-26: 62
- 2026-10-25: 61

## Common questions

### What is the Claimora MCP server?

Claimora is an MCP server listed in the public MCP registry as si.claimora/claimora. Scientific and legal claim graph. Query claims, evidence, contradictions, and innovation flags. This page covers its hosted endpoint (https://claimora.si/mcp).

### Is the Claimora MCP server safe to use?

Claimora scores 66 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 Claimora MCP server expose?

Claimora exposes 8 tools: query_claims, get_evidence, get_contradictions, get_updates, get_innovation_flags, and 3 more. Their descriptions and schemas cost roughly 2,677 tokens of context every time the server is loaded.

### Does the Claimora MCP server require authentication?

No. We connected to Claimora without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Claimora MCP server still maintained?

Claimora is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://claimora.si/mcp
- Repository: https://github.com/superexposed/claimora
- Website: https://github.com/superexposed/claimora/blob/main/docs/mcp-public.md
- Changelog RSS feed: https://verifymcp.io/servers/si-claimora-claimora/claimora.xml
- Changelog JSON feed: https://verifymcp.io/servers/si-claimora-claimora/claimora.json
- HTML version of this page: https://verifymcp.io/servers/si-claimora-claimora/claimora
