mcpField
Q
Qilin MCP Framework 🌩️🐲🌩️

Qilin MCP Framework 🌩️🐲🌩️

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

Qilin MCP Framework 🌩️🐲🌩️ について

Qilinは、Model Context Protocolサーバーを構築するためのGoフレームワークです。設定なしで起動でき、GoのWeb開発者になじみのあるハンドラーパターンと、stdioおよびStreamable HTTPのトランスポートに対応します。

主な機能

  1. 01設定不要のサーバー起動
  2. 02stdioとStreamable HTTP対応
  3. 03ツールの一覧表示と呼び出し
  4. 04リソースの一覧表示と読み取り
  5. 05ツールとリソースのミドルウェア
  6. 06リソーステンプレートとサブスクリプション

活用シーン

  1. 01最小限の設定でGo MCPサーバーを起動
  2. 02Goアプリケーションからツールを公開
  3. 03リソースとリソーステンプレートを提供
  4. 04ツールやリソースのハンドラーにミドルウェアを追加

MCP 対応

QilinはMCPサーバー実装用のGoフレームワークです。stdioとStreamable HTTPに対応し、ツール、リソース、テンプレート、サブスクリプション、ミドルウェアを提供します。プロンプト対応は未実装として記載されています。

設定

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

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

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

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

詳細

Qilin ロゴ

Qilin 🌩️🐲🌩️ – Go 向け Model Context Protocol フレームワーク

Go リファレンス Go バージョン Go レポートカード MIT ライセンス 開発中 DeepWiki に質問 DeepWiki に質問

🌟 主な特徴

  
⚡ 設定不要のサーバーqilin.New().Start() で、STDIN/STDOUT 上で MCP サーバーを起動できます
🤝 おなじみの操作感Go のよく知られた Web アプリケーションフレームワークに着想を得たハンドラーです。これらに慣れた開発者なら、すぐに使いこなせます。
⏩ ストリーミング可能な HTTPストリーミング可能な HTTP トランスポートをサポートします。

🚀 クイックスタート

go get github.com/miyamo2/qilin
package main

import (
	"fmt"
	"github.com/miyamo2/qilin"
	"maps"
)

type OrderBeerRequest struct {
	BeerName string `json:"beer_name" jsonschema:"title=Beer Name"`
	Quantity int    `json:"quantity"  jsonschema:"title=Quantity of Beers"`
}

type OrderBeerResponse struct {
	Amount float64 `json:"amount"`
}

var beers = map[string]string{
	"IPA":   "A hoppy beer with a bitter finish.",
	"Stout": "A dark beer with a rich, roasted flavor.",
	"Lager": "A light, crisp beer with a smooth finish.",
}

func main() {
	q := qilin.New("beer hall", qilin.WithVersion("v0.1.0"))

	q.Resource("menu_list",
		"resources://beer_list",
		func(c qilin.ResourceContext) error {
			return c.JSON(maps.Keys(beers))
		})

	q.Tool("order_beer",
		(*OrderBeerRequest)(nil),
		func(c qilin.ToolContext) error {
			var req OrderBeerRequest
			if err := c.Bind(&req); err != nil {
				return err
			}
			_, ok := beers[req.BeerName]
			if !ok {
				return fmt.Errorf("beer %s not found", req.BeerName)
			}
			amount := 8 * req.Quantity // Assume unit cost of all beers is $8.00.
			return c.JSON(OrderBeerResponse{Amount: float64(amount)})
		})
	q.Start() // listen on stdio
}

詳しい使い方については、Qilin ユーザーガイドを参照してください。

🛤 ロードマップ

トランスポート
  • Stdio
  • ストリーミング可能な HTTP
機能
  • ツール
    • 一覧表示
    • 呼び出し
      • ミドルウェア
  • リソース
    • 一覧表示
    • 読み取り
      • ミドルウェア
    • テンプレート
    • 一覧変更通知
    • サブスクリプション
  • プロンプト

📜 ライセンス

Qilin はMIT ライセンスのもとで公開されています

コメント

MCP は初めてですか?

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

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