startline-mcp

startline-mcp

MCP server for motorsport event documents, enabling AI agents to search, read, compare amendments, and parse schedules via typed tools.

Category
Visit Server

README

Startline AI — MCP server, web app & voice API

The serving layer for Startline AI: an AI companion for motorsport event documents. One process gives you an MCP server for AI agents, a phone-first event-day web app, a voice endpoint for Siri, amendment diffs and calendar export — all over a local document vault.

Built after marshalling at a Formula 1 event, where the official app delivers PDFs but can't answer "what time does sign-on close on Saturday?" — and where an amendment is just another PDF that never tells you what changed.

Two kinds of search

Index search — SQLite FTS5 + BM25 over heading-level chunks with event-jargon synonyms (sign-on = muster, MxM = minute x minute). Instant, deterministic, works with no signal at the track.

Agent search — an MCP server exposing nine typed tools, so an AI assistant can reason across documents and cite pages:

Tool Purpose
list_events / event_overview inventory, categories, amendment count
list_docs filter by event and category
search full-text with citations
read_doc fuzzy name match, pages="3-5" slicing
schedule_for parsed day timeline, with amendment warnings attached
diff_amendment what an amendment actually changed
amendments / doc_history version chains

Register it with any MCP client:

{ "mcpServers": { "startline": {
    "command": "uv",
    "args": ["run", "--directory", "/path/to/startline-server", "startline-mcp"]
}}}

Amendment diffs

The feature the official apps don't have. Each amendment is structurally diffed against the schedule it amends — rows matched by normalised text and classified moved / added / removed inside the amendment's time window — then summarised:

"The one-minute signal to the marshalling area is delayed from 17:09 to 17:24, and the reconnaissance lap release from 17:10 to 17:25. A new 20-minute signal checkpoint has been added at 17:15."

Results are cached by content hash, so each amendment costs one model call ever.

Running it

uv sync
uv run startline-mcp        # MCP server (stdio)
uv run startline-serve      # web app + voice API on :8095
uv run startline-caption    # vision-caption maps and diagrams (cached)

Point it at a vault with STARTLINE_VAULT=/path/to/vault (default ~/startline-vault). AI features need ANTHROPIC_API_KEY in the environment; without it, index search and the offline answer fallback still work.

Endpoints

Route What
/ event-day web app — day chips, NOW/NEXT timeline, filter, amendment banner, ask box
/ask?q= answer engine (used by the web app, Siri and the iOS app)
/api/events, /api/schedule, /api/diff JSON for clients
/calendar.ics?day=&q= RFC 5545 export, optionally filtered

Answers come back in the language the question was asked in — a Vietnamese question gets a Vietnamese answer, while document titles stay in the original.

Voice

SIRI-SETUP.md has the Apple Shortcut recipe (dictate → HTTP → speak) and a launchd plist for running the server permanently. The iOS app below does this natively with an App Intent.

Vision captions

Maps, gate diagrams and notice photos carry no extractable text, so they are invisible to search. startline-caption sends the rendered pages to a vision model, asks it to describe the page and transcribe every label, and caches the result by content hash. Ingest bakes captions into the notes, which makes questions like "how do I get through the zone fence near post 2.5?" answerable from an image.

Related repos

Repo Role
startline-vault ingest pipeline + offline index search
startline-ios native SwiftUI client

License

MIT

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured