qilin
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
Related MCP Servers
View all developer_tools servers βcontext7
by upstash
Context7 MCP provides up-to-date, version-specific documentation and code examples directly into your prompt, enhancing the capabilities of LLMs by ensuring they use the latest information.
git-mcp
by idosal
GitMCP is a free, open-source, remote Model Context Protocol (MCP) server that transforms GitHub projects into documentation hubs, enabling AI tools to access up-to-date documentation and code.
exa-mcp-server
by exa-labs
A Model Context Protocol (MCP) server allows AI assistants to use the Exa AI Search API for real-time web searches in a secure manner.
Sequential Thinking
by modelcontextprotocol
An MCP server implementation that provides a tool for dynamic and reflective problem-solving through a structured thinking process.
Everything MCP Server
by modelcontextprotocol
The Everything MCP Server is a comprehensive test server designed to demonstrate the full capabilities of the Model Context Protocol (MCP). It is not intended for production use but serves as a valuable tool for developers building MCP clients.
gateway
by centralmind
CentralMind Gateway is a tool designed to expose databases to AI agents via MCP or OpenAPI protocols, providing secure, LLM-optimized APIs.
mcpdoc
by langchain-ai
MCP LLMS-TXT Documentation Server provides a structured way to manage and retrieve LLM documentation using the Model Context Protocol.