mcpField
M
mcp-server-llmling

mcp-server-llmling

ローカル
github.com/phil65開発ツール648 週間前に更新

mcp-server-llmling について

LLM アプリケーション環境を構成する開発者向けの mcp-server-llmling です。YAML でリソース、プロンプト、ツールを宣言でき、複数のコンテンツソース、リソースのホットリロード、各種トランスポートに対応します。

主な機能

  1. 01YAML によるコンポーネント宣言
  2. 02複数種類のリソース管理
  3. 03リソース監視とホットリロード
  4. 04Python・OpenAPI ツールの登録
  5. 05静的・動的プロンプトの管理
  6. 06stdio・SSE・Streamable HTTP 対応

活用シーン

  1. 01ファイルやコマンド出力からコンテキストを提供
  2. 02Python 関数を LLM ツールとして設定
  3. 03クライアントごとのプロンプトとリソースの構成

MCP 対応

リソースの読み取りと変更通知、ツール実行、プロンプト管理を MCP クライアントに提供します。stdio、SSE、Streamable HTTP の各トランスポートに対応します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"llmling": {
"command": "uvx",
"args": [
"mcp-server-llmling@latest"
]
}
}
}
起動コマンドuvx mcp-server-llmling@latest

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypimcp-server-llmling@latest

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

mcp-server-llmling

PyPI License Package status Monthly downloads Distribution format Wheel availability Python version Implementation Releases Github Contributors Github Discussions Github Forks Github Issues Github Issues Github Watchers Github Stars Github Repository size Github last commit Github release date Github language count Github commits this month Package status PyUp

Read the documentation!

LLMling Server Manual

概要

mcp-server-llmling は、LLM アプリケーション向けの YAML ベースの設定システムを提供する、Machine Chat Protocol(MCP)用のサーバーです。

バックエンドの LLMLing は、LLM アプリケーション向けの YAML ベースの設定システムを提供します。 YAML ファイルで定義されたコンテンツを提供する、カスタム MCP サーバーを設定できます。

  • 静的宣言:LLM の環境を YAML で定義します。コードは不要です
  • MCP プロトコル:LLM との標準化されたやり取りを実現するため、Machine Chat Protocol(MCP)を基盤としています
  • コンポーネントの種類:
    • リソース:コンテンツプロバイダー(ファイル、テキスト、CLI 出力など)
    • プロンプト:引数付きのメッセージテンプレート
    • ツール:LLM から呼び出し可能な Python 関数

YAML 設定により、LLM に次のものを提供する完全な環境を構築できます。

  • リソースを介したコンテンツへのアクセス
  • 一貫したやり取りを実現する構造化プロンプト
  • 機能を拡張するツール

主な機能

1. リソース管理
  • さまざまな種類のリソースを読み込み、管理します。
    • テキストファイル(PathResource)
    • 生テキストコンテンツ(TextResource)
    • CLI コマンドの出力(CLIResource)
    • Python ソースコード(SourceResource)
    • Python 呼び出し可能オブジェクトの結果(CallableResource)
    • 画像(ImageResource)
  • リソースの監視/ホットリロードに対応
  • リソース処理パイプライン
  • URI ベースのリソースアクセス
2. ツールシステム
  • Python 関数を LLM ツールとして登録し、実行します
  • OpenAPI ベースのツールに対応
  • エントリーポイントベースのツール検出
  • ツールの検証とパラメーターのチェック
  • 構造化されたツール応答
3. プロンプト管理
  • テンプレートに対応した静的プロンプト
  • Python 関数による動的プロンプト
  • ファイルベースのプロンプト
  • プロンプト引数の検証
  • プロンプト引数の補完候補
4. 複数のトランスポート方式
  • Stdio ベースの通信(デフォルト)
  • ウェブクライアント向けの Server-Sent Events(SSE)/Streamable HTTP
  • カスタムトランスポートの実装に対応

使い方

Zed Editor での使用

settings.json に LLMLing をコンテキストサーバーとして追加します。

{
  "context_servers": {
    "llmling": {
      "command": {
        "env": {},
        "label": "llmling",
        "path": "uvx",
        "args": [
          "mcp-server-llmling",
          "start",
          "path/to/your/config.yml"
        ]
      },
      "settings": {}
    }
  }
}
Claude Desktop での使用

claude_desktop_config.json で LLMLing を設定します。

{
  "mcpServers": {
    "llmling": {
      "command": "uvx",
      "args": [
        "mcp-server-llmling",
        "start",
        "path/to/your/config.yml"
      ],
      "env": {}
    }
  }
}
サーバーの手動起動

コマンドラインからサーバーを直接起動します。

# Latest version
uvx mcp-server-llmling@latest
1. プログラムからの使用
from llmling import RuntimeConfig
from mcp_server_llmling import LLMLingServer

async def main() -> None:
    async with RuntimeConfig.open(config) as runtime:
        server = LLMLingServer(runtime, enable_injection=True)
        await server.start()

asyncio.run(main())
2. カスタムトランスポートの使用
from llmling import RuntimeConfig
from mcp_server_llmling import LLMLingServer

async def main() -> None:
    async with RuntimeConfig.open(config) as runtime:
        server = LLMLingServer(
            config,
            transport="sse",
            transport_options={
                "host": "localhost",
                "port": 3001,
                "cors_origins": ["http://localhost:3000"]
            }
        )
        await server.start()

asyncio.run(main())
3. リソースの設定
resources:
  python_code:
    type: path
    path: "./src/**/*.py"
    watch:
      enabled: true
      patterns:
        - "*.py"
        - "!**/__pycache__/**"

  api_docs:
    type: text
    content: |
      API Documentation
      ================
      ...
4. ツールの設定
tools:
  analyze_code:
    import_path: "mymodule.tools.analyze_code"
    description: "Analyze Python code structure"

toolsets:
  api:
    type: openapi
    spec: "https://api.example.com/openapi.json"

ヒント

OpenAPI スキーマには、LLMLing で使用する前に OpenAPI 仕様をバンドルして解決するため、Redocly CLI をインストールできます。これにより、スキーマ参照が適切に解決され、仕様が正しくフォーマットされていることを確認できます。redocly がインストールされている場合は、自動的に使用されます。

サーバーの設定

サーバーは、次のセクションを含む YAML ファイルで設定します。

global_settings:
  timeout: 30
  max_retries: 3
  log_level: "INFO"
  requirements: []
  pip_index_url: null
  extra_paths: []

resources:
  # Resource definitions...

tools:
  # Tool definitions...

toolsets:
  # Toolset definitions...

prompts:
  # Prompt definitions...

MCP プロトコル

このサーバーは、次の機能をサポートする MCP プロトコルを実装しています。

  1. リソース操作

    • 利用可能なリソースの一覧表示
    • リソースコンテンツの読み取り
    • リソースの変更の監視
  2. ツール操作

    • 利用可能なツールの一覧表示
    • パラメーターを指定したツールの実行
    • ツールスキーマの取得
  3. プロンプト操作

    • 利用可能なプロンプトの一覧表示
    • フォーマット済みプロンプトの取得
    • プロンプト引数の補完候補の取得
  4. 通知

    • リソースの変更
    • ツール/プロンプト一覧の更新
    • 進捗状況の更新
    • ログメッセージ

コメント

MCP は初めてですか?

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

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