MCP.so
Sign In
Servers

Cortex

@FreePeak

A declarative platform for building Model Context Protocol (MCP) servers in Golang—exposing tools, resources & prompts in a clean, structured way

Overview

What is Cortex?

Cortex is a Go library for building MCP (Model Context Protocol) servers declaratively. It implements the full MCP specification, enabling developers to expose resources, tools, and prompts over stdio or HTTP/SSE transports while following Go best practices.

How to use Cortex?

Install with go get github.com/FreePeak/cortex. Define tools using the tools package, create a server with server.NewMCPServer, register tools with handlers, and start the server with ServeStdio() or ServeHTTP(). Providers can group related tools and resources for registration.

Key features of Cortex

  • Declarative MCP server construction in Go
  • Supports Resources, Tools, Prompts, and Providers
  • STDIO and HTTP/SSE transport options
  • Embeddable into existing Go applications and HTTP servers
  • Multi-protocol operation via goroutines
  • Adheres to the latest MCP specification

Use cases of Cortex

  • Building MCP servers that expose data and tools to LLMs
  • Adding MCP capabilities to existing Go web servers
  • Creating reusable provider packages for related tools and resources
  • Running multi-protocol servers for different client types

FAQ from Cortex

What transports does Cortex support?

Cortex supports STDIO for command-line integration and HTTP with Server-Sent Events (SSE) for web applications.

Can I embed Cortex into an existing server?

Yes, Cortex can be embedded into any Go HTTP server. Examples include integrating with a standard HTTP server or PocketBase.

How do I group related tools and resources?

Use providers, which bundle related tools and resources into a single package that can be registered with the server via mcpServer.RegisterProvider.

What is MCP?

The Model Context Protocol (MCP) is a standardized protocol for providing context and tools to LLMs in a secure, efficient manner. It separates context provisioning from LLM interaction.

What logging requirements exist for STDIO servers?

All logs must be written to stderr to keep stdout clean for JSON-RPC messages. Use log.New(os.Stderr, ...) or fmt.Fprintf(os.Stderr, ...).

Tags

More from Other