Building a Football Fixture MCP Server with Sportmicro API
Description and use
A compact TypeScript MCP server exposing five focused tools for football fixture research via the Sportmicro API. Input validation, structured JSON responses, and clear separation between protocol and provider client make the integration reliable and easy to maintain.
Problem
Expose clean, validated football fixture data to AI clients without a messy integration of loosely validated endpoints.
Outcome
A small, maintainable MCP server that exposes five focused tools for football fixture research, validates inputs early, and returns structured JSON responses, enabling reliable AI client interactions.
Workflow
- Define MCP tools and input schemas in server.ts
- Implement Sportmicro client with typed HTTP requests in sportmicro-client.ts
- Validate tool input with zod before making API calls
- Send requests to Sportmicro using Bearer token
- Return structured JSON payloads or error payloads to the MCP client
- Test validation and error handling with Node test runner
- Deploy server via node dist/index.js
Evidence
I built this project around a simple problem: football fixture data is easy to query in isolation, but hard to expose cleanly to AI clients
The result is a TypeScript MCP server built with @modelcontextprotocol/sdk, zod, and a typed Sportmicro client.
The server is intentionally read-only. It does not mutate any Sportmicro data, and it only exposes the documented football endpoints needed for fixture research.
- Record date: 2026-09-22T02:00:21.862Z