Mirobody
Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.
作者による説明(英語の原文)
Biomedical evidence from PubMed, trials and FDA labels, with citations an audit can check.
この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。
このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。
使っているAIアプリを選んで、設定をコピーしてください。
NCBI_API_KEY, NCBI_EMAIL, OPENFDA_API_KEY, CROSSREF_MAILTO「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。
必要なもの
どのアプリを使っていますか?
上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。
Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます
{
"mcpServers": {
"tekmeria": {
"command": "uvx",
"args": [
"tekmeria"
],
"env": {
"NCBI_API_KEY": "your-value",
"NCBI_EMAIL": "your-value",
"OPENFDA_API_KEY": "your-value",
"CROSSREF_MAILTO": "your-value"
}
}
}
}ターミナルでこれを実行します
claude mcp add tekmeria --env NCBI_API_KEY=your-value --env NCBI_EMAIL=your-value --env OPENFDA_API_KEY=your-value --env CROSSREF_MAILTO=your-value -- uvx tekmeria動かす前に、空欄の値を入力してください。
プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます
{
"mcpServers": {
"tekmeria": {
"command": "uvx",
"args": [
"tekmeria"
],
"env": {
"NCBI_API_KEY": "your-value",
"NCBI_EMAIL": "your-value",
"OPENFDA_API_KEY": "your-value",
"CROSSREF_MAILTO": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
プロジェクトの .vscode/mcp.json に貼り付けます
{
"servers": {
"tekmeria": {
"type": "stdio",
"command": "uvx",
"args": [
"tekmeria"
],
"env": {
"NCBI_API_KEY": "your-value",
"NCBI_EMAIL": "your-value",
"OPENFDA_API_KEY": "your-value",
"CROSSREF_MAILTO": "your-value"
}
}
}
}ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。
これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。
選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。
NCBI_EMAIL envCROSSREF_MAILTO envこの設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。
パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。
誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック
レジストリ名は、リポジトリを所有するGitHubアカウント PedroMarkovicz で確認済みです
このリポジトリはまだGitHubから読み取っていません
このリポジトリはまだGitHubから読み取っていません
これはパソコンで動くため、インターネット上のエンドポイントはありません
パソコンで動き、代わりにローカルの設定を使います
パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです
レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。
当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。
入力が必要なもの:NCBI_API_KEY, OPENFDA_API_KEY
あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。
GitHubリポジトリの最終更新は–、最新バージョン(0.1.1)がレジストリに届いたのは24 日前です。
Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにPython (uv)も必要です。
同じカテゴリには:Mirobody, FHIR MCP Server, Google Health MCP
同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。
カードの見方:↓ 週あたりのダウンロードi★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i
Lab results to LOINC codes and UCUM units, symptoms and diagnoses to ICPC-3. Offline, no API key.
MCP server providing seamless access to FHIR APIs for AI tools and healthcare applications
Privacy-first unofficial Google Health API v4 MCP server for health, sleep, activity, HR agents
作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。
Overview • Quickstart • Results • How a citation works • Architecture • Evaluation • Usage • Citing
The audit view on the offline demo: each sentence with its status, each citation with its verdict. The answer fails on a forged and a malformed citation.
Tekmeria is a Model Context Protocol server for biomedical evidence from PubMed, Europe PMC, ClinicalTrials.gov and openFDA. Every passage it returns carries a short handle such as pmid:30831578/abstract.7~ae2tc, which ends in a check code that only this installation can compute. A model cites those handles, and a deterministic audit then shows which citations are genuine, which point to text that no longer exists, and which quotes are not verbatim. It is meant for people who build or evaluate biomedical question-answering agents, and for developers of MCP hosts who want citations their users can check.
Language models that answer biomedical questions with citations can cite papers that do not exist, misquote the ones that do, and cite retracted work. The problem now reaches the literature itself: an audit of 2.5 million open-access articles found fabricated references in 1 in 2,828 papers in 2023 and in 1 in 277 in early 2026 (Topaz et al., *The Lancet*, 2026). Checks that run after the answer is written must judge whether an imperfect bibliographic match is the right work. Tekmeria moves the guarantee into the tool server. The server that hands out a passage also issues its citation, so a citation is checked against what was issued, not searched for.
The audit checks provenance and quotation, not support. Whether a passage actually backs its claim is reported as
not_checked: tekmeria narrows that question to genuine, correctly quoted passages, and leaves it open. A verbatim quote does not settle it: across twelve models, verbatim quotes often failed to support their claims fully (Zhang et al.).
The project stays out of the race for coverage. BioMCP already reaches about 70 biomedical sources, and retrieval itself helps little: biomedical RAG typically improves on no retrieval by 1 to 2 points (Nourbakhsh et al.). Citations are where models fail:
The protocol points the same way: the 2026-07-28 MCP revision says that servers needing state across calls use "explicit, server-minted handles passed as ordinary tool arguments".
Others also put trust in the tool rather than the model. An agent runtime can sign a receipt for each tool call and check the claims that cite it (Basu); a renderer can mark a number verified only when it matches the record it names (Solatorio); and a genome-writing tool layer reachable over MCP requires every quantity to come from a validated tool (Ali et al.). Tekmeria applies the idea to citations of biomedical passages: the handle the model writes is itself authenticated, so the server that issued it can check it with its key alone, whichever model or MCP host wrote the answer.
Status. Research software, version 0.1.1. The citation contract is versioned separately, at 0.1.0; while it is 0.x, a breaking change raises its minor version. Changes are listed in CHANGELOG.md. A technical note describes the design and the evaluation: 10.5281/zenodo.23374728.
You need uv (it installs a suitable Python if needed). No API keys are required. One command runs the offline demo on recorded responses and opens its audit in your browser:
uvx tekmeria demo --open
To use tekmeria in a chat, add it to an MCP host such as Claude Desktop or VS Code: see Usage. The command installs the released package from PyPI. To run the development version instead, use uvx --from git+https://github.com/PedroMarkovicz/tekmeria tekmeria, or point --from at a local clone.
The evaluation is a conformance test: it plants citations whose correct verdict is known in advance and checks that the audit decides as its specification says. With seed 0 and 25 cases per category:
| Check | What it measures | Result |
|---|---|---|
| Planted citations | 850 cases in 34 categories, audited as structured claims and as answer text (four categories in one form only) | 1,600 / 1,600 audits correct |
| Whole answers | Every sentence status, every citation, the metrics and the overall verdict of multi-sentence answers | 257 / 257 correct |
| Other seeds | Seeds 1 to 10 at 25 cases per category; seed 0 at 200 (12,800 audits, 1,832 answers) | All correct |
| Injected faults | 38 hand-chosen faults: lenient comparators, lost typographic folds, wrong report rules | 37 caught |
| Mutation analysis | 78 mutants of comparisons, boolean operators and integer constants in the audit's code | 71 killed: 52 by a wrong result, 19 by a crash |
| Live pilot | One question to a frontier model in Claude Desktop; the second of two runs (the first failed on an example handle in the instructions) | 16 / 16 citations issued by the server, 4 / 4 quotes verbatim; warn, with 8 of 21 sentences uncited; support not checked |
None of this measures how often models fabricate citations, or whether a cited passage supports its sentence. The reference oracle was written by the same author, from the specification and separately from the audit, so it is not independent; whole answers are built from templates; and the faults are chosen by the author. How models cite when they are given handles is left to a later study. The full evaluation, with its output, is below.
pmid:30831578/abstract.7~ae2tc
\/ \__/ \____/ \_/ scheme id path check code: HMAC of everything before the "~"
The scheme is one of pmid, pmcid, ppr, nct and setid; registries that serve only their current version (trials and labels) carry the version that was cited. The model writes [handle] after a claim, or [handle "exact words"] for numbers and doses. The audit then gives each citation one verdict, from the first check that fails:
flowchart TD
C["A citation: a handle, and perhaps a quote"] --> G{"Does it match the handle grammar?"} G -- "no" --> M["malformed"] G -- "yes" --> K{"Does the check code match this installation's key?"} K -- "no" --> F["forged"] K -- "yes" --> R{"Could the source be reached?"} R -- "no" --> U["unavailable"] R -- "yes" --> P{"Do the record and the passage still exist?"} P -- "no" --> W["withdrawn"] P -- "yes" --> Q{"A quote, and not verbatim in the text as issued or as it is now?"} Q -- "yes" --> X["quote_mismatch"] Q -- "no" --> O["ok, with flags: retracted, preprint, version_changed"]
The answer as a whole is fail if anything in a configurable fail_on list occurs (by default, a forged or malformed citation), otherwise incomplete if a source could not be reached, otherwise warn if any sentence is uncited, any citation is not ok or a cited source is retracted, and otherwise pass. Each sentence also gets a status: cited, uncited, or invalid_only when none of its citations is ok. The report adds metrics, among them citation validity, sentence coverage, quote accuracy and the number of fabricated citations. The full rules are in docs/CONTRACT.md.
| Practice | In this project |
|---|---|
| Verify identifiers, not bibliographic similarity | A keyed check code: no title or author matching, no judgement about which work was meant |
| Keep outages apart from fabrication | unavailable and withdrawn are verdicts of their own, so an outage never counts as fabrication. A copy error that breaks the handle grammar is malformed; one that keeps it still reads as forged |
| Quote numbers and doses | A quote is compared after Unicode NFC, whitespace collapsing and a fixed list of typographic folds and removed invisible characters, and nothing more lenient |
| Report what is not checked | Every citation carries support: not_checked |
| Flag the state of the literature | retracted, preprint and version_changed describe the source without changing the verdict |
| Make the report reproducible | The same input, key, upstream content and cache give the same report, apart from its timestamp |
The server is a thin MCP layer over an evidence service and a pure citation contract.
flowchart TB
subgraph HOST["MCP host: Claude Desktop,
冒頭だけを表示しています。続きはリポジトリで読めます