Skip to main content
Glama

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

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

brew install uv

Windows

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Linux / Mac (no Homebrew)

curl -LsSf https://astral.sh/uv/install.sh | sh

Then run the server directly with:

uvx geneva-mcp

uv is open source and maintained by Astral — the same team behind the popular ruff linter. 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-mcp

Then use geneva-mcp as the command in your agent config instead of uvx geneva-mcp.

When to use pip vs uvx: uvx is self-contained and version-isolated — ideal for running MCP servers where you don't want package conflicts. pip installs 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 running which geneva-mcp with 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

data

list[float]

Time series observations (3–10,000 data points)

horizon

int

auto

Number of future periods to forecast

wave_periods

list[int]

[12]

Seasonal cycle lengths (12=monthly, 4=quarterly, 52=weekly, 7=daily)

confidence_level

float

0.95

Prediction interval confidence level (0.0–1.0)

method

int

auto

Force a specific method (0–9). Omit to let the Expert System select automatically

seasonal_transform

int

0

Seasonal transform: 0=None, 1=Seasonal, 2=MPT

smoothing

bool

false

Enable median smoothing for noisy data

max_periods_factor

float

engine default

Fit window cap factor — increase for long series

holdout_ratio

float

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-mcp

Chart 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-reinstall

Resource

Description

Geneva Developer Portal

Free API keys, usage dashboard, and account management

Geneva Python SDK

Direct API client with batch forecasting support

Geneva API Documentation

Full API reference, parameter guides, and examples


License

MIT License — Copyright © 2026 RoadMap Technologies, Inc.

Available Tools

1 tool
forecastA

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataYes
horizonNo
wave_periodsNo
confidence_levelNo
methodNo
seasonal_transformNo
smoothingNo
max_periods_factorNo
holdout_ratioNo

TDQS

A4.6/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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

A4.3/5.0
Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count2/5

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.

Completeness2/5

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

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    An 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
  • F
    license
    Not graded
    quality
    D
    maintenance
    Connect 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.
  • A
    license
    A
    quality
    C
    maintenance
    A Model Context Protocol (MCP) server that integrates the FAIM time series forecasting SDK with any MCP-compatible AI assistant, enabling AI-powered forecasting capabilities.
    2
    21
    8
    MIT

Latest Blog Posts

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