protogrid

Search / io.github.jrainsberger/orthotomeo

orthotomeo

R0· no sign-in

Read-only scripture-study engine: complete-or-fail concordance over Greek NT, Hebrew OT, LXX.

v0.1.0 · active · repository · descriptor JSON · versions

An agent can connect right now, no human step.Remote endpoint, no authentication, reachable on the last probe.
Quality85good
Trust87of 100
Uptime, 30 days100%
Latency p50374 ms

Connect

8 clients · secrets stay placeholders
{
  "mcpServers": {
    "orthotomeo": {
      "type": "http",
      "url": "https://orthotomeo.app/mcp"
    }
  }
}
claude mcp add --transport http orthotomeo https://orthotomeo.app/mcp
[mcp_servers.orthotomeo]
url = "https://orthotomeo.app/mcp"
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "orthotomeo": {
      "type": "remote",
      "url": "https://orthotomeo.app/mcp",
      "enabled": true
    }
  }
}
{
  "mcpServers": {
    "orthotomeo": {
      "type": "http",
      "url": "https://orthotomeo.app/mcp"
    }
  },
  "deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=orthotomeo&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vb3J0aG90b21lby5hcHAvbWNwIn0%3D"
}
{
  "servers": {
    "orthotomeo": {
      "type": "http",
      "url": "https://orthotomeo.app/mcp"
    }
  }
}
{
  "mcpServers": {
    "orthotomeo": {
      "httpUrl": "https://orthotomeo.app/mcp"
    }
  }
}
extensions:
  "orthotomeo":
    enabled: true
    name: "orthotomeo"
    type: streamable_http
    uri: "https://orthotomeo.app/mcp"
    timeout: 300

Quality 85 / 100good

protocol75 · weight 25
  • warn
    protocol.modernnewest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
  • n/a
    protocol.statelessonly applies to 2026-07-28 servers
  • pass
    protocol.transportstreamable HTTP
  • n/a
    protocol.list_ttlonly applies to 2026-07-28 servers
authorizationn/a · weight 15
  • n/a
    auth.prm, auth.as_metadata, auth.cimdno remote uses OAuth
  • n/a
    auth.secret_in_urlno templated URL
tool hygiene86 · weight 30
  • pass
    tools.descriptionsevery tool has a description
  • pass
    tools.description_lengthdescriptions are concise
  • pass
    tools.schemasevery tool has an object input schema
  • pass
    tools.annotations12 of 12 tools declare readOnlyHint or destructiveHint
  • fail
    tools.directory_hintsno tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: attestation (destructiveHint, idempotentHint); count (destructiveHint, idempotentHint); get_verse (destructiveHint, idempotentHint); …
  • pass
    tools.token_costabout 2,629 tokens to load every tool
  • pass
    tools.api_dumptools are not a one-to-one API dump
stability100 · weight 15
  • pass
    stability.changesno tool changes in 30 days
  • pass
    stability.rug_pullno tool changed its meaning under the same name
dependenciesn/a · weight 15
  • n/a
    deps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI package

12 tools, about 2,629 tokens to load them all · tool set 083b92ae3490 · checked 2026-10-20 17:02 UTC

Tool changes

No tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.

Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.

Trust 87 / 100

provenance80
liveness100
freshness65
hygiene100

+repository +namespace-matches-repo +reachable +uptime-100% ~updated-95d-ago

Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.

Endpoints

remoteauthreachableuptime 30dp50protocollast ok
https://orthotomeo.app/mcp streamable-httpnoneyes100%374 ms2025-11-252026-10-20

Tools (12)

attestationread-onlyReturns the WHNT-style Type/Editions manuscript-tradition columns as neutral text-critical data (e.g. Mark 16:9-20 = Type KO) - which editions carry a word, with no argument for or against a variant.
citeread-onlyRenders Citations (from any of the above tools) as quoted, fully-attributed Markdown bullets - the only sanctioned bridge from a query result to pastable study-document text.
concord_lemmaread-onlyComplete-or-fail concordance: every words row in corpus whose lemma, dStrong, or (with by="surface") exact inflected surface form matches query. Route lemma/Strong's-number/surface-word lookups here, never by writing SQL or guessing occurrences from memory. This deployment caps one concordance result at 2000 occurrences and refuses anything broader, reporting the exact match count in the error. Call count first when a query might be broad - count is never capped.
concord_phraseread-onlyComplete-or-fail multi-word concordance: every occurrence, within one verse, of tokens (lemma strings) appearing in order within window intervening words of each other (window=0 = strictly adjacent). This is the tool for a phrase query like εἰς ἄφεσιν. This deployment caps one concordance result at 2000 occurrences and refuses anything broader, reporting the exact match count in the error. Call count first when a query might be broad - count is never capped.
countread-onlyOccurrence tally (total + per-book breakdown) for the identical query concord_lemma would match. count.Total always equals len(concord_lemma(...)) - use this to sanity-check a concordance result, or when only the number matters.
get_passageread-onlyReturns get_verse's result for every canonical verse in a contiguous, single-book range, in order - verse boundaries preserved, never concatenated into one blob.
get_verseread-onlyReturns verbatim verse text with provenance for one canonical reference, one Citation per requested edition (KJV, ASV, WEB, BSB, Brenton).
interlinearread-onlyReturns a row-aligned reading view for every word in a verse (or one word, if word is given): original text, transliteration, gloss (via lexicon_lookup), grammar, and manuscript attestation stacked per word - the composed display shape for a study reading view, built on parse and lexicon_lookup rather than any new query. This is the most complete per-word view; use parse or attestation when you want only one of those facets.
lemmatizeread-onlyReturns the ordered lemma list for a verse (words with no lemma are omitted, not fabricated).
lexicon_lookupread-onlyResolves a disambiguated Strong's number (dStrong) to its lexicon entry: lemma, transliteration, gloss, and - for a Greek entry only - a fuller definition (Abbott-Smith 1922, Public Domain). A Hebrew entry's definition field is always omitted: it is abridged BDB via Online Bible, which requires permission not yet obtained, so only its gloss is ever returned. Not to be confused with the get_verse/get_passage tools, which resolve a Ref to translated verse text, not a dStrong to a dictionary entry.
parseread-onlyReturns dStrong + expanded morphology (via the T6 morph_codes table) for every word in a verse, or one word if word is given. LXX corpora (Swete, OSS-LXX-lemma) are always Flagged - neither carries morphology.
resolve_refread-onlyReports, for every per-verse content edition (KJV, ASV, WEB, BSB, Brenton, TAGNT, TAHOT, Swete, OSS-LXX-lemma), whether a canonical reference has a counterpart there and where. Cross-edition divergence (a T4b merge/renumber/divide, or a reference simply missing from an edition) is reported as Caveats - never a silent shift.

Schemas: list_tools.

Similar MCP servers

Official server.json
{
  "name": "io.github.jrainsberger/orthotomeo",
  "icons": [
    {
      "src": "https://raw.githubusercontent.com/jrainsberger/orthotomeo/main/orthotomeo-icon.svg",
      "sizes": [
        "any"
      ],
      "mimeType": "image/svg+xml"
    }
  ],
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
  "remotes": [
    {
      "url": "https://orthotomeo.app/mcp",
      "type": "streamable-http"
    }
  ],
  "version": "0.1.0",
  "repository": {
    "url": "https://github.com/jrainsberger/orthotomeo",
    "source": "github"
  },
  "description": "Read-only scripture-study engine: complete-or-fail concordance over Greek NT, Hebrew OT, LXX."
}