Geneva Forecasting MCP
Geneva MCP
Geneva MCP brings production-grade statistical forecasting directly into AI assistants and coding agents. Connect any MCP-compatible client to the Geneva Forecasting Engine and run rigorous time series forecasts through natural conversation — no code, no pipelines, no exports required.
"Forecast the next 12 months of this sales data with 95% prediction intervals."
The agent calls the Geneva Engine behind the scenes, receives a numerical analysis and a forecast chart, and delivers a complete, statistically grounded interpretation — all in a single conversation turn.
Why Geneva MCP?
Free to Get Started — No Credit Card Required
The Geneva API is free with 1,000 forecasts per month. Sign up at the Developer Portal, generate your API key, and start forecasting in minutes. No trial periods, no paywalls, no surprises.
Forecast in Claude Chat
With Geneva MCP connected, Claude becomes a full forecasting analyst. Paste your data directly into the conversation, ask a question in plain language, and Claude will forecast, analyze, and visualize the results — model selection, accuracy metrics, trend commentary, and a chart, all delivered in a single response.
Forecast from Excel with Claude Cowork
Claude Cowork users can forecast directly from spreadsheets. Drop your .xlsx or .csv file into the conversation, describe the column you want to forecast, and Geneva handles the rest — complete with prediction intervals and a chart. No data pipelines, no Python scripts, no manual exports.
From spreadsheet to forecast in one sentence.
Fast & Purpose-Built
Geneva is a dedicated forecasting engine, not a general-purpose language model. Forecasts return in milliseconds with structured output and a chart — every time, with consistent and reproducible results. Geneva returns both a full numerical analysis and a chart image ready for the agent to embed directly in the conversation.
Related MCP server: Sablier MCP Server
Requirements
Requirement | Details |
Python | 3.10 or later |
API Key | Free — sign up at portal.roadmap-tech.com |
Agent | Claude Desktop or any MCP-compatible client |
Security: Your API key is injected as a process environment variable in your agent's MCP configuration. It is never exposed in the chat, the agent context window, or transmitted to any third party.
Installation
Option 1 — uvx (Recommended)
uvx runs Geneva MCP in an isolated environment with no permanent installation — it pulls the latest version from PyPI automatically each time. This is the cleanest approach and what the configuration examples below use.
First, install uv (a fast Python package manager) if you don't have it:
Platform | Command |
Mac |
|
Windows |
|
Linux / Mac (no Homebrew) |
|
Then run the server directly with:
uvx geneva-mcp
uvis open source and maintained by Astral — the same team behind the popularrufflinter. It is the package manager recommended by Anthropic for MCP server distribution.
Option 2 — pip
If you already have Python 3.10+ and prefer a traditional install, pip works without any additional tooling:
pip install geneva-mcpThen use geneva-mcp as the command in your agent config instead of uvx geneva-mcp.
When to use pip vs uvx:
uvxis self-contained and version-isolated — ideal for running MCP servers where you don't want package conflicts.pipinstalls into your active Python environment and is the simpler choice if you're already managing a Python setup.
Supported Agents
Agent | Status | Notes |
Claude Desktop | ✅ Fully Supported | Full multimodal output (text + chart) |
Claude Cowork | ✅ Fully Supported | Forecast directly from Excel & CSV files |
Any MCP-compatible client | ✅ Supported | Via stdio transport |
Quick Start
Step 1 — Get Your Free API Key
Visit the Geneva Developer Portal to create a free account and generate your API key. The free tier includes 1,000 forecasts per month with no credit card required.
Step 2 — Configure Claude Desktop
Add the Geneva MCP server to your Claude Desktop configuration. Replace gva_your_key_here with your API key.
Claude Desktop
Edit ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"geneva": {
"command": "uvx",
"args": ["geneva-mcp"],
"env": {
"GENEVA_API_URL": "https://api.roadmap-tech.com",
"GENEVA_API_KEY": "gva_your_key_here"
}
}
}
}Restart Claude Desktop — the forecast tool will appear automatically in the tool list.
If you installed via pip
Point command at the geneva-mcp binary inside your virtual environment:
{
"mcpServers": {
"geneva": {
"command": "{path_to_venv}/venv/bin/geneva-mcp",
"env": {
"GENEVA_API_URL": "https://api.roadmap-tech.com",
"GENEVA_API_KEY": "gva_your_key_here"
}
}
}
}Replace
{path_to_venv}with the absolute path to the directory containing your virtual environment. You can find the binary path by runningwhich geneva-mcpwith the venv activated.
Claude Cowork
Follow the same configuration as Claude Desktop above. Once configured, you can attach an .xlsx or .csv file to the conversation and instruct Claude to forecast any column — Geneva will handle model selection, computation, and visualization automatically.
Step 3 — Start Forecasting
Ask your agent to forecast any time series in plain language:
"Here are my last 36 months of revenue: [120, 135, 128, ...]. Forecast the next 18 months with 95% confidence intervals."
The agent receives structured forecast data and an embedded chart visualization, then provides a complete analysis covering model selection rationale, accuracy metrics, trend direction, seasonal patterns, and prediction intervals.
How It Works
┌──────────────────────┐ stdio (JSON-RPC) ┌──────────────────────┐
│ Claude Desktop │ ◄──────────────────────► │ Geneva MCP Server │
│ │ │ (local process) │
│ │ │ │
└──────────────────────┘ └────────┬─────────────┘
│ HTTPS
▼
┌──────────────────────┐
│ Geneva Engine API │
│ api.roadmap-tech.com│
└──────────────────────┘The MCP server runs locally as a lightweight Python process. It communicates with the AI agent over stdio using the MCP protocol and calls the Geneva Forecasting Engine API over HTTPS. The server is fully stateless and produces no local side effects.
Tool Reference
forecast
Run a single time series forecast through the Geneva Forecasting Engine.
Note: Each tool call processes one time series. For batch forecasting across multiple series, use the Geneva Python SDK directly.
Parameter | Type | Required | Default | Description |
|
| ✅ | — | Time series observations (3–10,000 data points) |
|
| — | auto | Number of future periods to forecast |
|
| — |
| Seasonal cycle lengths ( |
|
| — |
| Prediction interval confidence level (0.0–1.0) |
|
| — | auto | Force a specific method (0–9). Omit to let the Expert System select automatically |
|
| — |
| Seasonal transform: |
|
| — |
| Enable median smoothing for noisy data |
|
| — | engine default | Fit window cap factor — increase for long series |
|
| — | engine default | Fraction of data reserved for model evaluation |
Returns: A structured multimodal response containing:
Text summary — Selected model name, accuracy metrics (MAD, MAPE, RMSE), forecast values with prediction intervals, in markdown format ready for agent interpretation
Chart image — A forecast chart with historical data, forecast line, and shaded prediction interval bands
Forecasting Methods
The Geneva Expert System automatically evaluates all 10 methods and selects the best fit for your data. You can also specify a method manually using the method parameter.
ID | Method | Best For |
0 | Linear Regression | Steady linear growth or decline |
1–5 | Non-Linear Regression (5 curve types) | Exponential, s-curve, power trends |
6 | Simple Exponential Smoothing | Stable, level series |
7 | Double Exponential Smoothing (Holt) | Trending series without seasonality |
8 | Holt-Winters (Seasonal) | Trending + seasonal series |
9 | Croston (Intermittent Demand) | Sporadic, zero-inflated series |
Troubleshooting
GENEVA_API_KEY environment variable is not set
The env block is missing from your agent's MCP configuration, or the API key value is empty. Add a valid key from the Geneva Developer Portal.
Server transport closed unexpectedly
The Python process crashed before the MCP handshake completed. Verify your installation by running the server manually:
GENEVA_API_KEY=your_key GENEVA_API_URL=https://api.roadmap-tech.com geneva-mcpChart rendering issues
The server uses a headless matplotlib backend (Agg) that requires no display server. If chart generation fails, reinstall matplotlib:
pip install matplotlib --force-reinstallRelated Resources
Resource | Description |
Free API keys, usage dashboard, and account management | |
Direct API client with batch forecasting support | |
Full API reference, parameter guides, and examples |
License
MIT License — Copyright © 2026 RoadMap Technologies, Inc.
Available Tools
1 toolforecastA
Run the Geneva Forecasting Engine on a time series and return forecast results.
Use this tool when the user has numerical time series data (e.g., monthly sales, daily temperatures, quarterly revenue) and wants to predict future values. The Geneva Expert System automatically selects the best forecasting model from 10 methods including exponential smoothing, Holt-Winters, and regression models.
Parameters
data : list[float] Time series observations. Minimum 3 data points, maximum 10,000. These should be sequential, evenly-spaced numerical values. horizon : int, optional Number of future periods to forecast. Default: one full seasonal cycle (e.g., 12 for monthly data). For monthly data, 18 is a good choice. For quarterly, 8. For weekly, 13. wave_periods : list[int], optional Seasonal cycle lengths. IMPORTANT — set this correctly for your data: - [12] for monthly data (default) - [4] for quarterly data - [52] for weekly data - [7] for daily data - [24] for hourly data - [1] for yearly/non-seasonal data confidence_level : float Prediction interval confidence (0.0 to 1.0). Default 0.95 gives 95% prediction intervals. Higher = wider bands, more confidence. method : int, optional Force a specific forecasting method (0–9). Omit to let the Expert System auto-select the best model. Methods: 0=LinearReg, 1-5=NonLinearReg, 6=SES, 7=DES (Double Exponential Smoothing), 8=HoltWinters, 9=Croston. Expert System (default) tries all and picks the best fit. seasonal_transform : int Seasonal transform to apply: 0=None (default), 1=Seasonal, 2=MPT (Moving Periodic Total). Use 1 or 2 for strongly seasonal data to improve forecast accuracy. smoothing : bool Enable median data smoothing (3-period window). Useful for noisy data. Default: False. max_periods_factor : float, optional Controls the fit window cap (nPPC × MPF). Higher values give the model more holdout data for evaluation, which can improve accuracy on long series. Default: engine default (1.5). Use 10+ for long series. Max: 100. holdout_ratio : float, optional Fraction of data reserved for model evaluation (e.g., 0.333). Default: engine default (1/3).
Returns
CallToolResult Contains a text summary with forecast values, accuracy metrics, model info, and prediction intervals.
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | ||
| horizon | No | ||
| wave_periods | No | ||
| confidence_level | No | ||
| method | No | ||
| seasonal_transform | No | ||
| smoothing | No | ||
| max_periods_factor | No | ||
| holdout_ratio | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behavioral traits: the tool automatically selects the best forecasting model from 10 methods, handles optional parameters with defaults, and returns a text summary with forecast values and metrics. It could improve by mentioning computational requirements or error handling, but it covers the core operation well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured with clear sections (purpose, usage, parameters, returns) and uses bullet points for wave_periods examples. While comprehensive, it is appropriately sized for a complex tool with many parameters. Some sentences could be tightened (e.g., the horizon explanation is slightly verbose), but overall it's efficient and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (9 parameters, no annotations, no output schema), the description is largely complete. It covers purpose, usage, detailed parameter semantics, and return format. However, it lacks explicit information about error conditions, rate limits, or authentication needs, which would be helpful for full contextual understanding.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description fully compensates by providing detailed semantic information for all 9 parameters. It explains each parameter's purpose, default values, valid ranges (e.g., data length 3-10,000, confidence_level 0.0-1.0), and practical guidance (e.g., wave_periods settings for different data frequencies, method codes). This adds significant value beyond the bare schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Run the Geneva Forecasting Engine on a time series and return forecast results.' It specifies the verb ('Run'), resource ('Geneva Forecasting Engine'), and outcome ('return forecast results'), with examples of applicable data types (e.g., monthly sales, daily temperatures). With no sibling tools, this level of specificity is excellent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use the tool: 'Use this tool when the user has numerical time series data... and wants to predict future values.' It provides clear context for application, including data requirements and the user's intent. With no sibling tools, no alternative guidance is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
With only one tool, there is no possibility of confusion or overlap between tools. The single tool 'forecast' has a clearly defined and distinct purpose.
Since there is only one tool, naming consistency is inherently perfect. The tool name 'forecast' is clear and follows a simple verb pattern appropriate for its function.
A single tool is too few for a forecasting server, as it lacks basic operations like data validation, model comparison, or result visualization. This forces all functionality into one complex tool, which is inadequate for the domain.
The server is severely incomplete for forecasting tasks. It lacks tools for data preprocessing, model evaluation, error analysis, or handling different data formats, which are essential for a comprehensive forecasting workflow.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Let AI agents query data and act across all your business apps via MCP.
Trade 16 crypto exchanges + MetaTrader 5 from your AI assistant via one MCP connection.
Analytics your AI agent can actually use. Track, experiment, and optimize via MCP.
The financial MCP for AI agents - 90+ financial tables, SEC filings, signals, alt-data.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceAn MCP server powered by Meta's Prophet that enables LLMs to perform time-series forecasting, trend analysis, and predictive modeling on historical data. It provides LLM-friendly statistical summaries, automated business-rule validation, and ready-to-render Chart.js visualizations.MIT

Sablier MCP Serverofficial
AlicenseAqualityDmaintenanceAn MCP server that lets AI assistants analyze portfolios, stress-test scenarios, generate synthetic market paths, and scan SEC filings — in under 2 minutes.833MIT
AgenticBIofficial
FlicenseNot gradedqualityDmaintenanceConnect your business data to any MCP client. AgenticBI agents find the right data, join across systems, run queries, build dashboards, generate reports, and automate analytics workflows. No SQL required.- AlicenseAqualityCmaintenanceA Model Context Protocol (MCP) server that integrates the FAIM time series forecasting SDK with any MCP-compatible AI assistant, enabling AI-powered forecasting capabilities.2218MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/RoadMap-Tech/geneva-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server