Feyod

Feyod

A server that answers questions about football matches, and specialised in the football club Feyenoord.

0
Stars
1
Forks
0
Releases

Overview

Feyod MCP Server is a Model Context Protocol (MCP) server that exposes a Streamable HTTP interface for answering natural language questions about Feyenoord football data, including matches, players, opponents and related events. The public endpoint is available at https://mcp.feyod.nl/mcp and a Docker image is published on Docker Hub at jeroenvdmeer/feyod-mcp. The server uses LangChain to translate natural language questions into SQL queries (optionally leveraging few-shot examples), validate the generated SQL, and, if needed, have the LLM fix invalid queries. It executes only valid SELECT queries against a local SQLite database (feyod.db) and returns raw results. The underlying Feyod database is maintained in the jeroenvdmeer/feyod repository; you should obtain the latest SQL file from that repository to build the database. LLM and embedding models are loaded dynamically via a provider factory (llm_factory.py), allowing easy switching between providers such as OpenAI and Google GenAI. MCP tools are discoverable via the protocol (tools/list) and include answer_feyenoord_question for querying Feyenoord data.

Details

Owner
jeroenvdmeer
Language
Python
License
MIT License
Updated
2025-12-07

Features

Natural language querying

Allows asking questions about Feyenoord data in natural language and retrieves answers.

NL-to-SQL translation with LangChain

Converts NL questions to SQL queries, optionally using few-shot examples to improve accuracy.

SQL validation and auto-correction

Validates generated SQL syntax and fixes invalid queries using the LLM.

Read-only SQLite execution

Executes only valid SELECT queries against a local SQLite database and returns raw results.

Dynamic LLM/provider switching

LLM and embedding models loaded via a provider factory for easy switching between providers like OpenAI or Google GenAI.

Public endpoint and Docker deployment

Exposes a streamable HTTP endpoint and provides a Docker image for easy deployment.

MCP tooling and discovery

Exposes MCP tools (e.g., answer_feyenoord_question) discoverable via the protocol.

Tags

FeyenoordfootballmatchesMCPLangChainNL to SQLSQLitefeyodpublic endpointDocker