关于 Qilin MCP Framework 🌩️🐲🌩️
Qilin 是用于构建 Model Context Protocol 服务端的 Go 框架。它支持零配置启动,提供 Go Web 开发者熟悉的处理器模式,并支持 stdio 和 Streamable HTTP 传输。
主要功能
- 01零配置启动服务端
- 02支持 stdio 与 Streamable HTTP
- 03工具列表与调用
- 04资源列表与读取
- 05工具和资源中间件
- 06资源模板与订阅
适用场景
- 01以最少配置启动 Go MCP 服务
- 02通过 Go 应用提供工具
- 03提供资源和资源模板
- 04为工具或资源处理器添加中间件
MCP 相关
Qilin 是用于实现 MCP 服务端的 Go 框架,支持 stdio 和 Streamable HTTP,并提供工具、资源、模板、订阅及中间件;提示词支持尚未实现。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Qilin 🌩️🐲🌩️ – Go 语言的 Model Context Protocol 框架
🌟 亮点
| ⚡ 零配置服务 | 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
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。