mcpField
E
Eldertongue

Eldertongue

リモート
eldertongue.com科学・教育01 週間前に更新
リポジトリ公式サイト

Eldertongue について

Eldertongueは、構造化された引用可能な言語データを必要とするエージェント、編集者、開発者向けの、ホスト型・読み取り専用の古英語辞書サービスです。見出し語、屈折形、語形判定、現代英語からの逆引き、Beowulfの用例を提供し、対応するRESTエンドポイントも備えています。

主な機能

  1. 01古英語の見出し語検索
  2. 02屈折表の取得
  3. 03屈折形の判定
  4. 04英単語から古英語候補を検索
  5. 05Beowulf内の語の出現箇所を検索

活用シーン

  1. 01単語の定義と文法情報の確認
  2. 02不明な屈折形の分析
  3. 03英単語に対応する古英語候補の検索
  4. 04詩行への参照付きでBeowulf内の語を特定

MCP 対応

ホスト型の読み取り専用MCPサーバーは `https://eldertongue.com/mcp` にあり、Streamable HTTP経由で5種類の辞書検索ツールを認証なしで提供します。同等のRESTエンドポイントも利用できます。

設定

リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。

エンドポイントhttps://eldertongue.com/mcp
インストールコマンドをコピー
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

詳細

eldertongue — 古英語辞書 MCP サーバー

LLM エージェントやエディターが、ウィクショナリーのデータをもとに構築された古英語(アングロ・サクソン語)辞書 eldertongue.com に読み取り専用でアクセスできるリモートのModel Context Protocolサーバーです。

この辞書には約 14,000 件の見出し語ページに加え、逆引きの現代英語 → 古英語検索と、Bēowulfの全行索引が収録されています。このリポジトリには、公開向けドキュメント、クライアント設定のサンプル、ホスト型 MCP エンドポイント用のエージェントスキルがあります。サーバー自体はホスト型のマネージドサービスであり、このリポジトリで実行するコードはありません。

Eldertongue MCP connector — tool definition quality and endpoint health on Glama

サーバーの概要(5 つのツール、クライアントのセットアップ、制限、ライセンス)を人間が読みやすい形式でまとめたページは、https://eldertongue.com/mcp-server にあります。

対象ユーザー

  • 古英語の単語の検索、活用、語義の判別が必要で、安定したページ URL を出典として示したいエージェントやアシスタント。
  • MCP に対応し、歴史言語学向けのすぐに使える参照ツールを求めるエディターや IDE(Claude Desktop、Claude Code、Cursor、VS Code)。
  • MCP よりもシンプルな REST を好む開発者 — 各ツールには同一オリジンの REST 版があります(以下の表を参照)。

定義を手作業で確認するだけなら、ウェブサイトに直接アクセスするのが最も手早い方法です。このエンドポイントは、プログラムから構造化されたデータを出典付きで取得できるようにするためのものです。

プロジェクト

ウェブサイトhttps://eldertongue.com
MCP エンドポイントhttps://eldertongue.com/mcp(Streamable HTTP、認証不要)
リポジトリhttps://github.com/gowinder/eldertongue-mcp
MCP Registryio.github.gowinder/eldertongue(登録情報)
コードライセンスMIT(このリポジトリ。詳細は LICENSE を参照)
データライセンスCC BY-SA 4.0(辞書コンテンツ)
連絡先mailto:[email protected]
ロゴlogo-512.png · logo-1024.png

パッケージング

このリポジトリは、ポータブルな Agent Plugins パッケージでもあります。plugin.json にマニフェストがあり、mcp.json でホスト型 Streamable HTTP サーバーを宣言し、skills/old-english-lookup/ にエージェントスキルが含まれています。この形式に対応するクライアントは、リポジトリの URL から MCP サーバーとスキルを直接読み込めます。

server.json は、ホスト型エンドポイントの Official MCP Registry マニフェストです。io.github.gowinder/eldertongue(バージョン 1.0.0、streamable-http)として公開されています。

エンドポイント

目的URL備考
MCP サーバーhttps://eldertongue.com/mcpStreamable HTTP トランスポート、読み取り専用、認証不要
OpenAPI 3.1https://eldertongue.com/openapi.jsonREST API の機械可読な説明
REST — 見出し語の検索GET /api/lookup?word=lookup_headword と同じデータ
REST — 活用形GET /api/inflect?word=inflect と同じデータ
REST — 形式の特定GET /api/identify?form=identify_form と同じデータ
REST — 英語 → 古英語GET /api/english?word=english_to_old_english と同じデータ
REST — Bēowulf 索引GET /api/beowulf?word=beowulf_occurrences と同じデータ
REST — ヘルスチェックGET /api/health稼働確認

すべての REST パスのルートは https://eldertongue.com です。

ツール

MCP サーバーは5つのツールを公開しています。どのツールも単一の文字列引数を受け取り、JSONを返します。

成功したtools/callはすべて、2つのtextコンテンツブロックを返します。

  1. 各ツールの下に示すオブジェクトを、整形済みJSONとして返すツール結果。
  2. そのまま読者に渡せる固定のソース行。
Source: Eldertongue — Old English Dictionary, https://eldertongue.com (full declension tables, examples and Beowulf context). Please cite https://eldertongue.com when using this data.

"found": falseの結果も成功として扱われるため、同じ2つのブロックを返します。異なるのはエラー(isError: true)の場合のみです。この場合はError: …を含む単一のtextブロックを返し、ソース行はありません。

1. lookup_headword

古英語の見出し語を検索します。入力は{ "word": string }です。マクロンの有無を問わず見出し語を指定できます(cyningまたはcȳning)。見つかったかどうか、正規化された見出し語、正規ページとWiktionaryのURL、品詞、文法上の性、IPA、音節区切り、屈折または動詞のクラス、語源、語義のリストを返します。

入力:

{ "word": "cyning" }

レスポンスJSON(最初のコンテンツブロックの抜粋):

{
  "found": true,
  "headword": "cyning",
  "pageUrl": "https://eldertongue.com/word/cyning",
  "wiktionaryUrl": "https://en.wiktionary.org/wiki/cyning#Old_English",
  "partOfSpeech": "noun",
  "genders": ["masculine"],
  "ipa": ["/ˈky.ninɡ/", "[ˈky.niŋɡ]"],
  "syllables": ["ˈky", "ninɡ"],
  "declension": { "label": "strong a-stem", "href": "/declension/strong-a-stem" },
  "verbClass": null,
  "etymology": "From Proto-West Germanic *kuning, from Proto-Germanic *kuningaz, ultimately from Proto-Indo-European *ǵenh₁- (\"to procreate\"). Equivalent to cynn + -ing.",
  "senses": [
    { "definition": "king", "tags": [] }
  ],
  "senseCount": 1,
  "indexable": true
}

senses[]の項目にはdefinitionとtagsがあります。verbClassは動詞の場合に設定され、それ以外の場合はnullです。indexableは、その項目が完全なインデックス対象の見出し語ページかどうかを示します。

2. inflect

単語の屈折表または活用表全体を返します。入力は{ "word": string }です。レスポンスにはトップレベルのfound / hasInflectionフラグとinflection[]配列が含まれます。各項目は、表がある品詞の読みに対応しています。各項目にはpartOfSpeech、paradigmKind、1つ以上のtables、およびフラットなcellsリストが含まれます。すべての屈折形には、https://eldertongue.com/word/<slug>#<cellId>の形式のアンカーURLがあります。

入力:

{ "word": "cyning" }

レスポンスJSON(最初のコンテンツブロックの抜粋):

{
  "found": true,
  "headword": "cyning",
  "pageUrl": "https://eldertongue.com/word/cyning",
  "hasInflection": true,
  "inflection": [
    {
      "partOfSpeech": "noun",
      "paradigmKind": "noun",
      "tables": [
        {
          "title": "Declension",
          "kind": "noun",
          "cols": ["Singular", "Plural"],
          "groups": [
            {
              "title": null,
              "rows": [
                {
                  "label": "Nominative",
                  "cells": [
                    { "label": "nominative singular", "forms": [{ "form": "cyning", "url": "https://eldertongue.com/word/cyning#nom-sg" }] },
                    { "label": "nominative plural",   "forms": [{ "form": "cyningas", "url": "https://eldertongue.com/word/cyning#nom-pl" }] }
                  ]
                },
                {
                  "label": "Genitive",
                  "cells": [
                    { "label": "genitive singular", "forms": [{ "form": "cyninges", "url": "https://eldertongue.com/word/cyning#gen-sg" }] },
                    { "label": "genitive plural",   "forms": [{ "form": "cyninga", "url": "https://eldertongue.com/word/cyning#gen-pl" }] }
                  ]
                }
              ]
            }
          ]
        }
      ],
      "cells": [
        { "id": "nom-sg", "label": "nominative singular", "forms": [{ "form": "cyning", "url": "https://eldertongue.com/word/cyning#nom-sg" }] },
        { "id": "nom-pl", "label": "nominative plural", "forms": [{ "form": "cyningas", "url": "https://eldertongue.com/word/cyning#nom-pl" }] }
      ]
    }
  ]
}

構造の概要:inflection[] → tables[] → groups[] → rows[] → cells[]。各行セルは{ label, forms: [{ form, url }] | null }です。フラットなcells[]配列(各項目は{ id, label, forms: [{ form, url }] })は、IDとともにすべての語形を取得したい場合に便利です。

3. identify_form

任意の屈折形(例:cyninges)を特定し、その語形を説明できる解析候補を返します。入力は{ "form": string }です。候補となる解析が複数ある場合があります。

入力:

{ "form": "cyninges" }

レスポンスJSON(最初のコンテンツブロックの抜粋):

{
  "analyses": [
    {
      "lemma": "cyning",
      "lemmaPageUrl": "https://eldertongue.com/word/cyning",
      "cellId": "gen-sg",
      "tag": "genitive singular",
      "grammar": {
        "case": "genitive",
        "number": "singular"
      },
      "formUrl": "https://eldertongue.com/word/cyning#gen-sg"
    }
  ]
}

grammarには、その語形が実際に示す文法範疇のみが含まれます。ここでは格と数です。該当しない範疇はnullにせず、省略されます。

4. english_to_old_english

逆引き検索:現代英語の単語を指定すると、順位付けされた古英語の候補を返します。入力は{ "word": string }です。候補はデータパイプラインのスコアに基づいて順位付けされます。各候補には短い語義と見出し語ページへのリンクがあり、レスポンスには逆引き検索ページのURLも含まれます。

入力:

{ "word": "king" }

レスポンスJSON(最初のコンテンツブロックの抜粋):

{
  "candidates": [
    { "lemma": "cyning",     "display": "cyning",     "partOfSpeech": "noun", "score": 24, "gloss": "king",          "pageUrl": "https://eldertongue.com/word/cyning" },
    { "lemma": "Friscyning", "display": "Friscyning", "partOfSpeech": "noun", "score": 15, "gloss": "king of Frisia", "pageUrl": "https://eldertongue.com/word/~friscyning" },
    { "lemma": "leodcyning", "display": "leodcyning", "partOfSpeech": "noun", "score": 12, "gloss": "king, ruler",    "pageUrl": "https://eldertongue.com/word/leodcyning" }
  ],
  "pageUrl": "https://eldertongue.com/english/king"
}
5. beowulf_occurrences

単語が『ベーオウルフ』のどこに現れるかを検索します。入力は{ "word": string }です。その単語が何回、何行に出現するか、綴りごとの内訳、および行番号、詩句のテキスト、該当行へのディープリンク(https://eldertongue.com/beowulf#l<line>)を含む出現箇所のリストを返します。occurrencesTotalは全出現数です。occurrences[]には、件数の上限内の出現箇所が含まれる場合があります。

入力:

{ "word": "cyning" }

レスポンスJSON(最初のコンテンツブロックの抜粋):

{
  "times": 51,
  "lines": 51,
  "forms": [
    { "form": "cyning",   "times": 38, "lines": 38 },
    { "form": "cyninges", "times": 7,  "lines": 7 },
    { "form": "cyninga",  "times": 3,  "lines": 3 },
    { "form": "cyninge",  "times": 3,  "lines": 3 }
  ],
  "occurrences": [
    {
      "line": 11,
      "text": "gomban gyldan: þæt wæs gōd cyning!",
      "forms": ["cyning"],
      "url": "https://eldertongue.com/beowulf#l11"
    }
  ],
  "occurrencesTotal": 51
}

クライアントの設定

エンドポイントはhttps://eldertongue.com/mcpでStreamable HTTP経由のMCPに対応しています。インストールもキーの設定も不要です。configs/からクライアント用のサンプルをコピーするか、以下のスニペットを使用してください。

Claude DesktopとClaude Code

Claude Desktopは、設定ファイル(macOSでは~/Library/Application Support/Claude/claude_desktop_config.json、Windowsでは%APPDATA%\Claude\claude_desktop_config.json)からmcpServersブロックを読み込みます。

{
  "mcpServers": {
    "eldertongue": {
      "url": "https://eldertongue.com/mcp"
    }
  }
}

Claude Codeでは、コマンドラインから同じリモートサーバーを追加できます。

claude mcp add --transport http eldertongue https://eldertongue.com/mcp

同等の設定は、プロジェクトルートにある.mcp.jsonに記述します。

{
  "mcpServers": {
    "eldertongue": {
      "type": "http",
      "url": "https://eldertongue.com/mcp"
    }
  }
}
Cursor

プロジェクト内の .cursor/mcp.json(または Cursor のグローバル MCP ファイル)にサーバーを追加します。Cursor では mcpServers キーを使用します。

{
  "mcpServers": {
    "eldertongue": {
      "url": "https://eldertongue.com/mcp"
    }
  }
}
VS Code

VS Code は .vscode/mcp.json から MCP サーバーを読み込みます。このファイルでは servers キーと、http を明示した type を使用します。

{
  "servers": {
    "eldertongue": {
      "type": "http",
      "url": "https://eldertongue.com/mcp"
    }
  }
}

データとライセンス

辞書の内容は Wiktionary(kaikki.org の古英語データ抽出を使用)に由来し、 Creative Commons Attribution-ShareAlike 4.0 International(CC BY-SA 4.0) のライセンスで提供されています。

このデータを回答、アプリ、データセットなどで使用する場合は、次の要件を満たす必要があります。

  1. Wiktionary と eldertongue.com をクレジット表記してください。
  2. 使用した個別のエントリーページ(例: eldertongue.com/word/cyning)と、 クレジット表記ページへのリンクを記載してください。
  3. 派生物は同じライセンス(CC BY-SA 4.0)で共有してください。

このリポジトリ内のコードサンプルと設定は MIT ライセンスで提供されています(LICENSE を参照してください)。MIT ライセンスの対象はコードであり、引き続き CC BY-SA 4.0 の対象となる辞書データは含まれません。

プライバシーとレート制限

  • 読み取り専用です。 書き込み、アップロード、アカウント用のエンドポイントはありません。サーバーは検索への応答のみを行います。
  • 認証は不要です。 API キー、トークン、アカウントは必要ありません。
  • 追跡はありません。 リクエストがユーザーに紐付けて記録されたり、プロフィールの作成に使用されたりすることはありません。
  • 妥当なレート制限です。 サービスを誰もが利用できる状態に保つため、妥当なレート制限が適用されます。バッチ処理や大量のリクエストを送るクライアントは、エンドポイントに過剰な負荷をかけず、429 応答に対してキューイングとバックオフを行う必要があります。

エージェント向けの注意事項

  • 結果を提示する際は、ツールから返される pageUrl(または該当する formUrl/詩句の url)を引用して、読者が eldertongue.com でエントリーを確認できるようにしてください。
  • 定義には lookup_headword、語形変化の完全な一覧には inflect、屈折形または活用形しか分からない場合は identify_form、英語から古英語への翻訳には english_to_old_english、テキスト上の用例には beowulf_occurrences を優先してください。
  • 古英語の綴りは標準化されていません。検索結果が見つからない場合は、長音記号を外して再試行するか、実際の語形を指定して identify_form を試してください。
  • これらのツールを利用するエージェント用スキルについては、skills/old-english-lookup/SKILL.md を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。