Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"io-github-futuresearch-everyrow-mcp": {
"args": [
"futuresearch"
],
"command": "uvx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Deploy a team of researchers to forecast, score, classify, or gather data. Use yourself in the app, or give your team of researchers to your AI wherever you use it (Claude.ai, Claude Cowork, Claude Code, or Gemini/Codex/other AI surfaces), or point them to this Python SDK.
Run this in your terminal to verify the server starts. Then let us know if it worked — your result helps other developers.
uvx 'futuresearch' 2>&1 | head -1 && echo "✓ Server started successfully"
After testing, let us know if it worked:
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked futuresearch against OSV.dev.
Click any tool to inspect its schema.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in ai-ml / data
Query and manage PostgreSQL databases directly from AI assistants
Persistent memory using a knowledge graph
Manage Supabase projects — databases, auth, storage, and edge functions
Zero-dependency, token-efficient database MCP server for Postgres, MySQL, SQL Server, MariaDB, SQLite.
MCP Security Weekly
Get CVE alerts and security updates for Everyrow MCP Server and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
An API for frontier forecasting.
FutureSearch predicts the future. Accuracy is verifiable via our public track record on stocks, prediction markets, public benchmarks, and forecasting tournaments.
| Track Record | |
|---|---|
| markets.futuresearch.ai | Live trading on Kalshi, Polymarket, and the S&P 500. Every position, including the losers. |
| evals.futuresearch.ai | Benchmarks: Bench To the Future, Deep Research Bench, and live forecasting tournament standings (Metaculus, ForecastBench). |
Try it yourself in the app, or give advanced forecasting and multi-agent capabilities to your AI wherever you use it (Claude.ai, Claude Cowork, Claude Code, or Gemini/Codex/other AI surfaces), or point them to this Python SDK.
Claude.ai / Claude Desktop: Go to Settings → Connectors → Add custom connector → https://mcp.futuresearch.ai/mcp
Claude Code:
claude mcp add futuresearch --scope project --transport http https://mcp.futuresearch.ai/mcp
Then sign in with Google.
forecast() takes a table of questions about the future and returns a forecast for each row, with a rationale column explaining each answer. Five modes cover the shapes a question can take.
Effort level is "LOW" or "HIGH": roughly $0.15 per question at low effort and $2 at high effort. Left unset, a single question runs at high effort and a batch runs at low. Categorical, thresholded, and conditional forecasts always require "HIGH".
The probability, 0 to 100, that a YES/NO question resolves YES. Output columns: probability and rationale.
import asyncio
from pandas import DataFrame
from futuresearch.ops import forecast
async def main():
result = await forecast(
input=DataFrame([
{"question": "Will the US Federal Reserve cut rates by at least 25bp before July 1, 2027?"},
{"question": "Will SpaceX land Starship on the Moon before 2030?"},
]),
forecast_type="binary",
)
print(result.data[["question", "probability", "rationale"]])
asyncio.run(main())
Percentile estimates (p10 through p90) for a continuous quantity. Requires output_field and units.
result = await forecast(
input=DataFrame([
{"question": "What will the price of Brent crude oil be on December 31, 2026?"},
]),
forecast_type="numeric",
output_field="price",
units="USD per barrel",
)
print(result.data[["price_p10", "price_p50", "price_p90"]])
Percentile dates (p10 through p90, as YYYY-MM-DD) for timing questions. Requires output_field.
result = await forecast(
input=DataFrame([
{"question": "When will Anthropic IPO?"},
]),
forecast_type="date",
output_field="ipo_date",
)
print(result.data[["ipo_date_p10", "ipo_date_p50", "ipo_date_p90"]])
Multiple choice: one probability per outcome, forecast jointly so the probabilities sum to 100. Each row holds its own option list in the column named by categories_field. Make the set exhaustive; add an "Other" option when it isn't.
result = await forecast(
input=
... [View full README on GitHub](https://github.com/futuresearch/everyrow-sdk#readme)