mcpField
B
Byteask Embedded Docs

Byteask Embedded Docs

リモート
docs.byteask.aiメモリ・ナレッジ2619 週間前に更新
リポジトリ公式サイト

Byteask Embedded Docs について

ByteAsk Embedded MCP は ByteAsk Embedded Docs を支えるオープンソースのMCP サーバーで、コーディングエージェント向けに組み込み・ファームウェアの参考資料からページ引用付きで情報を検索します。原文の抜粋を返し、該当がない場合は回答を生成せず一致なしを返します。

主な機能

  1. 01セクションとページの引用を付けた原文抜粋
  2. 02根拠がない場合の一致なし応答
  3. 03search_docs、get_context、request_document ツール
  4. 04stdio と Streamable HTTP のトランスポート対応

活用シーン

  1. 01ファームウェア作成時にレジスタオフセットや機能コードを確認する
  2. 02Modbus や SCPI のコマンド定義を正確に調べる
  3. 03コーディングエージェントでデータシートのしきい値や仕様を検証する

MCP 対応

本プロジェクトは MCP サーバーであり、search_docs、get_context、request_document の各ツールを MCP クライアントに公開します。検索エンジンとドキュメントコーパスはこのリポジトリには含まれず、SearchBackend インターフェースを通じて差し替えられます。

設定

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

エンドポイントhttps://mcp.byteask.ai/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 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。

ツール

3
パラメーター型必須説明
querystringはい
limitintegerいいえ
effortanyいいえ

詳細

ByteAsk Embedded MCP

組み込み機器およびファームウェアのリファレンス文書から、ページ引用付きの回答を提供します。レジスタ値を推測できないコーディングエージェント向けです。

smithery badge License: MIT Python 3.10+ Model Context Protocol Status: beta PRs welcome Hosted

公式 MCP Registry 名前空間:ai.byteask/embedded-docs · リモート MCP エンドポイント:https://mcp.byteask.ai/mcp

クイックスタート · ツール · クライアントの接続 · 設定 · ホスト型サーバー · コントリビューション

コーディングエージェントが記憶を頼りに ETH_DMATDLAR を探します。byteask がコーパスを読み込み、引用ページ付きで ETH_DMACTXDLAR に修正します。

ByteAsk Embedded MCP は、ByteAsk Embedded Docs を支えるオープンソースサーバーです。 ファームウェア、ドライバー、プロトコルのコードを作成するコーディングエージェント(Claude Code、Codex、Cursor)向けに、ソースに基づくページ引用付きの根拠検索を提供します。SunSpec ポイント、レジスターオフセット、Modbus ファンクションコード、トリップしきい値、SCPI コマンド、API シンボルなどの正確な情報が必要な場合に役立ちます。

ページ引用付きの原文スニペットをそのまま返します。回答を生成することはありません。また、十分に関連する情報が見つからない場合は、捏造するのではなく一致なしと伝えます。すべての文書は同等に扱われ、優先度の設定やフィルターはありません。

メモ

このリポジトリに含まれるもの: MCP サーバー(ツール、トランスポート(stdio + Streamable HTTP)、ベアラー認証、DNS リバインディング対策、結果のレンダリング)と、小規模で差し替え可能な検索インターフェースです。

このリポジトリに含まれないもの: 検索エンジンと文書コーパスです。文書の解析、チャンク分割、埋め込み、ランキングを行う仕組みと、ライセンス対象のソース資料は、SearchBackend のインターフェースの先にあり、ホスト型エンドポイント https://mcp.byteask.ai/mcp を支えています。このリポジトリには、サーバーをすぐに実行できるよう、例示用の公開情報レコードをいくつか含むメモリー内の SampleBackend が同梱されています。

理由

  • 引用がなければ、何も返しません。 ヒットした場合は、セクションとページの引用を含む原文をそのまま返します。見つからない場合は、正直に「確実に一致するものはありません」と返し、レジスタ値を決して捏造しません。
  • コーディングエージェント向けに設計されています。 ツールの説明とトリガーは、エージェントが16進リテラル、Modbus コード、IEEE 条項、SCPI 動詞、MCU 型番を見つけたら、記憶に基づいて回答する前に、反射的に search_docs を呼び出すよう調整されています。
  • 2つのトランスポート、1つのサーバー。 ローカルエージェントには stdio、ホスト型には Streamable HTTP を使用します。
  • 検索機能を自由に差し替えられます。 検索エンジンは2つのメソッドからなるインターフェースです。サーバーを変更せずに、BYTEASK_BACKEND の先に任意の実装を接続できます。
  • セットアップ不要のデモ。 同梱の SampleBackend はすぐに動作します。API キーは不要です。

クイックスタート

Python ≥ 3.10 と uv が必要です。

uv sync
uv run byteask-embedded-mcp        # run as an MCP server (stdio)

これで完了です。同梱の SampleBackend は例示用のレコードをいくつか提供するため、search_docs をすぐに使えます。オフラインテストは uv run pytest で実行できます。

クライアントの接続

ホスト型(インストール不要)

ホスト型サーバーは https://mcp.byteask.ai/mcp で Streamable HTTP を提供し、 ライセンス済みコーパス全体をバックエンドに使用しています。

Cursor に追加

Claude Code:

claude mcp add --transport http byteask-embedded-docs https://mcp.byteask.ai/mcp
Codex、Cursor、その他のクライアント(mcp-remote)
{
  "mcpServers": {
    "byteask-embedded-docs": {
      "command": "npx",
      "args": ["-y", "mcp-remote", "https://mcp.byteask.ai/mcp"]
    }
  }
}
ローカル(このリポジトリ)

プロジェクトスコープの .mcp.json には、これを読み込むクライアント向けに stdio サーバーが登録されています。Claude Code で手動設定する場合:

claude mcp add byteask-embedded-docs -- uv run byteask-embedded-mcp

ツール

入力は自然言語(または正確な識別子)です。出力は簡潔な Markdown です。

ツール機能
search_docs(query, limit=8)コーパスを検索し、ページ引用付きの関連度順の根拠を返します。各結果には、ドキュメントのタイトル、セクションとページの引用、原文そのままの抜粋、result_id が含まれます。「確かな一致なし」という応答は、見つからなかったという意味です。捏造しないでください。
get_context(result_id)検索結果を、その出典となるセクション全体に展開します。
request_document(request)追加が必要なドキュメントをリクエストします(サーバー側に記録されます)。

出力例:

## Results for "what Modbus function code writes multiple registers"

### Sample — Modbus Application Protocol (illustrative) — §6.12, p.30
> Function code 16 (0x10), Write Multiple Registers, writes a block of contiguous
> holding registers (1 to 123 registers) in a remote device. ...
_ref: sample:modbus-fc16_

独自の検索機能を接続する

サーバーが依存するのは、2 つのメソッドを持つインターフェース (backend.py)だけです。

class SearchBackend(Protocol):
    def search(self, query, limit=8, effort=None) -> dict: ...
    def get_context(self, result_id, effort=None) -> dict: ...

これを実装して、ファクトリー make_backend(config) -> SearchBackend を公開し、 サーバーの接続先を設定します。

BYTEASK_BACKEND="my_pkg.my_module:make_backend"

戻り値の正確な契約については、backend.py の冒頭に記載されています。

設定

すべての設定は環境変数です(.env から読み込まれます。 .env.example を参照)。

変数デフォルト備考
BYTEASK_BACKEND—SearchBackend を返す module:callable。空の場合 → SampleBackend
BYTEASK_LOGSlogsクエリ/リクエストの JSONL ログの保存先
MCP_TRANSPORTstdiostdio(ローカルエージェント)または http
MCP_HTTP_HOST / MCP_HTTP_PORT127.0.0.1 / 8000HTTP バインドアドレス
MCP_HTTP_AUTH_TOKEN—HTTP 用ベアラートークン(空の場合は認証なし。開発時のみ)
MCP_ALLOWED_HOSTS—Host ヘッダーで許可するホスト(カンマ区切り。* で無効化)
LOG_LEVELINFOstderr に出力するログの詳細度
HTTP 経由で実行する
MCP_TRANSPORT=http MCP_HTTP_AUTH_TOKEN=$(openssl rand -hex 32) \
  uv run byteask-embedded-mcp --host 0.0.0.0 --port 8000

クライアントは Authorization: Bearer <token> を送信します。同梱のベアラー認証チェックは共有シークレットを使う スタブ です。一般公開する前に、実際の認証(OAuth 2.1 リソースサーバー、mTLS、または信頼できるリバースプロキシ)に置き換えてください。DNS リバインディング対策は、MCP_ALLOWED_HOSTS によって独立して有効なままです。

ホスト型サーバー

ByteAsk Embedded Docs を使うために、何かを実行する必要はありません。ホスト型サーバーを使えば、Claude Code、Codex、Cursor、および任意の MCP クライアントで、組み込みドキュメントやファームウェアのリファレンスドキュメントから正確なページ引用付きの情報を取得できます。対象には、レジスターマップ、プロトコルの関数コード、SCPI コマンド、標準のしきい値、データシートの仕様が含まれます。保証するのは、出典の原文そのまま、または「一致なし」です。値を捏造することはありません。

名前byteask-embedded-docs
エンドポイントhttps://mcp.byteask.ai/mcp(Streamable HTTP)
ドキュメントとクライアント別の設定https://docs.byteask.ai/embedded

このリポジトリは、そのエンドポイントを支えるオープンソースサーバーです。

プロジェクト構成

src/byteask_embedded_mcp/
  server.py     # FastMCP app + 3 tools (search_docs, get_context, request_document)
  backend.py    # SearchBackend protocol + in-memory SampleBackend (swap for real retrieval)
  render.py     # structured result -> compact markdown
  http_auth.py  # Streamable HTTP entrypoint + stub bearer-token guard
  config.py     # server config (transport, logging, backend selection)
  schemas.py    # Hit / Section result types
  obs.py        # per-call JSONL logging
tests/          # offline unit tests (renderer, backend, server tools)
assets/         # README demo GIF + its deterministic generator

セキュリティ

  • stdio モードでは stdout をクリーンな状態に保ちます(JSON-RPC チャネルとして使用するため)。すべてのログは stderr/logs/*.jsonl に出力されます。
  • HTTP の ベアラー認証チェックはスタブです。トークンが設定されていない場合は認証なし、設定されていても共有シークレットによる認証がせいぜいです。広く公開する前に強化してください。
  • HTTP トランスポートでは DNS リバインディング対策 がデフォルトで有効です。

貢献

PR と Issue を歓迎します。

uv sync            # install (incl. dev tools)
uv run pytest      # run the offline test suite

サーバーをクリーンに保つための規約をいくつか示します。

  • バックエンドとの境界が拡張ポイントです。 検索の内部処理(解析、チャンク分割、埋め込み、ランキング)は意図的に対象外としています。これらはこのリポジトリではなく、ご自身のパッケージで SearchBackend の背後に実装してください。
  • 依存関係を最小限に抑え、stdio の経路に HTTP スタックを含めないでください。
  • 新しい動作にはテストを追加してください。テストスイートは完全にオフラインで動作します(ネットワークもキーも不要です)。

ライセンス

MIT © ByteAsk

コメント

MCP は初めてですか?

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

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