trackmcp
Back to directory

Qilin MCP Framework

2 stars GoAI & Machine Learning Updated Jun 15, 2025
frameworkgogolangmcpmcp-servermodel-context-protocol

Documentation

Qilin 🌩️🐲🌩️ – Model Context Protocol Framework for Go

🌟 Highlights

  
⚑ Zero‑config server`qilin.New().Start()` launches an MCP server on STDIN/STDOUT
🀝 Familiar look and feelHandlers inspired by Go's well-known web application framework. Developers familiar with them will feel right at home.
⏩ Streamable HTTPSupports Streamable HTTP transport.

πŸš€ Quick Start

sh
go get github.com/miyamo2/qilin
go
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

  • [x] Stdio
  • [x] Streamable HTTP

Features

  • [x] Tool
    • [x] Resource
      • [ ] Prompt

      πŸ“œ License

      Qilin released under the MIT License

      Frequently asked questions

      What is qilin?

      qilin is Qilin MCP Framework

      How do I install qilin?

      Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.

      Is qilin open source?

      Yes β€” it is hosted on GitHub at https://github.com/miyamo2/qilin and has 2 stars.

      Related MCP tools

      Run your own MCP server? See who uses it and what to fix.

      Measure it with TrackMCP