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. 02支持 stdio 与 Streamable HTTP
  3. 03工具列表与调用
  4. 04资源列表与读取
  5. 05工具和资源中间件
  6. 06资源模板与订阅

适用场景

  1. 01以最少配置启动 Go MCP 服务
  2. 02通过 Go 应用提供工具
  3. 03提供资源和资源模板
  4. 04为工具或资源处理器添加中间件

MCP 相关

Qilin 是用于实现 MCP 服务端的 Go 框架,支持 stdio 和 Streamable HTTP,并提供工具、资源、模板、订阅及中间件;提示词支持尚未实现。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Qilin 标志

Qilin 🌩️🐲🌩️ – Go 语言的 Model Context Protocol 框架

Go 参考文档 Go 版本 Go 代码报告卡 MIT 许可证 状态:WIP 咨询 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 许可证发布

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。