qilin
If you are the rightful owner of qilin and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
Qilin is a Model Context Protocol Framework for Go, designed to simplify the creation of MCP servers with a familiar interface for Go developers.

Qilin π©οΈπ²π©οΈ β Model Context Protocol Framework for Go
π Highlights
Β | Β |
---|---|
β‘ Zeroβconfig server | qilin.New().Start() launches an MCP server on STDIN/STDOUT |
π€ Familiar look and feel | Handlers inspired by Go's well-known web application framework. Developers familiar with them will feel right at home. |
β© Streamable HTTP | Supports Streamable HTTP transport. |
π Quick Start
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
}
For more detailed usage, please refer to the Qilin User Guide.
π€ Roadmap
Transports
- Stdio
- Streamable HTTP
Features
- Tool
- Listing
- Calling
- Middleware
- Resource
- Listing
- Reading
- Middleware
- Templates
- List Changed Notification
- Subscriptions
- Prompt
π License
Qilin released under the MIT License