
Everyrow MCP Server
- 49 repo stars
- Updated July 27, 2026
- futuresearch/everyrow-sdk
Everyrow MCP is an MCP server that lets agents forecast, score, classify, or research each row of a dataset through Everyrow’s API.
About
Everyrow MCP Server connects coding agents to Everyrow’s row-oriented research API so you can forecast, score, classify, or research every row of a dataset without building a custom enrichment pipeline. Developers use it in the idea phase when they are turning messy CSVs—competitors, accounts, niches, or survey exports—into structured judgments the agent can sort, filter, and narrate. Install runs through uvx from PyPI with stdio transport and an EVERYROW_API_KEY. It complements manual spreadsheet work and one-off Python scripts by letting the agent orchestrate batch cognitive tasks as MCP tools. Pair it with export discipline and clear column schemas; it is optimized for research throughput, not production ETL governance.
- PyPI package everyrow-mcp (version 0.5.1) with stdio transport via uvx
- Per-row operations: forecast, score, classify, and deep research on datasets
- Requires EVERYROW_API_KEY from https://everyrow.io/api-key
- Positioned as giving your AI a research team for tabular work
- Lives in futuresearch/everyrow-sdk monorepo under everyrow-mcp subfolder
Everyrow MCP Server by the numbers
- Data as of Jul 28, 2026 (Skillselion catalog sync)
claude mcp add --env EVERYROW_API_KEY=YOUR_EVERYROW_API_KEY everyrow-mcp -- uvx everyrow-mcpAdd your badge
Show developers this MCP server is listed on Skillselion. Paste this into your README.
| repo stars | ★ 49 |
|---|---|
| Package | everyrow-mcp |
| Transport | STDIO |
| Auth | Required |
| Last updated | July 27, 2026 |
| Repository | futuresearch/everyrow-sdk ↗ |
What it does
Run per-row forecast, score, classify, or research jobs on tabular datasets from your coding agent via Everyrow’s API.
Who is it for?
Best when you're validating markets with lead lists, competitor grids, or survey exports and want agent-driven row enrichment.
Skip if: Skip if you need only a single web search or a fully managed warehouse ETL without per-row AI operations.
What you get
After you set EVERYROW_API_KEY and register the stdio server, your agent can batch row-level research and scoring inside the same session as your code.
- Enriched datasets with per-row forecasts, scores, or classifications
- Agent-orchestrated research batches without one-off Python glue
- Documented stdio MCP entry in your agent config
By the numbers
- Package version 0.5.1 on PyPI identifier everyrow-mcp
- stdio transport with uvx runtime hint
- One required secret: EVERYROW_API_KEY
README.md
FutureSearch Python SDK
PyPI version License: MIT Python 3.12+
An API for forecasting and multi-agent research.
FutureSearch provides endpoints that use web research agents at scale, for higher accuracy than web search or single agent approaches alone can achieve. forecast runs a team of forecasters to predict future dates, numbers, and probabilities. multi_agent orchestrates multiple researchers to answer one question. agent_map runs one research agent over every row of a dataset, scaling to thousands of rows and agents.
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.
Installation
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.
Endpoints
| Role | What it does | Cost | Scales To |
|---|---|---|---|
| forecast() | Predict outcomes | 50¢-1.20¢ | 1k rows |
| multi_agent() | A team of researchers per for each question | $0.30-$2 | 1k rows |
| agent_map() | One researcher per row of a dataset | 1–11¢ | 10k rows |
| rank() | Research, then score | 1-5¢ | 10k rows |
| classify() | Research, then categorize | 0.1-0.7¢ | 10k rows |
| dedupe() and merge() | Find matching rows | 0.2-0.5¢ | 20k rows |
See the full API reference, guides, and case studies, (for example, see our case study running a Research task on 10k rows, running agents that used 120k LLM calls.)
Or just ask Claude in your interface of choice:
Find every startup selling training data and evals to frontier AI labs.
Take this 10,000-row CSV of drugs and find the FDA regulatory status of each.
Forecast which of these 500 cancer drug trials are most likely to succeed.
SDK Examples
from futuresearch.ops import forecast, agent_map, multi_agent
from pandas import DataFrame
# A team of forecasters: research each question, then predict
result = await forecast(
input=DataFrame([
{"question": "When will Anthropic IPO?"},
{"question": "When will OpenAI IPO?"},
]),
forecast_type="date",
)
print(result.data.head())
# One web research agent per row, in parallel
result = await agent_map(
task="Find this company's latest funding round and lead investors",
input=DataFrame([
{"company": "Anthropic"},
{"company": "OpenAI"},
{"company": "Mistral"},
# ... 100 more rows
]),
)
print(result.data.head())
# A team of agents on one question; return_list emits one row per item
result = await multi_agent(
task="List the most-funded AI infrastructure startups founded since 2023",
input=DataFrame(),
return_list=True,
)
print(result.data.head())
See the API docs. Agents are tuned on Deep Research Bench, Bench To the Future, on prediction markets, and in the stock market..
Sessions
You can also use a session to output a URL to see the research and data processing in the futuresearch.ai/app application, which streams the research and makes charts. Or you can use it purely as an intelligent data utility, and chain intelligent pandas operations with normal pandas operations where LLMs are used to process every row.
from futuresearch import create_session
async with create_session(name="My Session") as session:
print(f"View session at: {session.get_url()}")
Async operations
All ops have async variants for background processing:
from futuresearch import create_session
from futuresearch.ops import rank_async
async with create_session(name="Async Ranking") as session:
task = await rank_async(
session=session,
task="Score this organization",
input=dataframe,
field_name="score",
)
print(f"Task ID: {task.task_id}") # Print this! Useful if your script crashes.
# Do other stuff...
result = await task.await_result()
Tip: Print the task ID after submitting. If your script crashes, you can fetch the result later using fetch_task_data:
from futuresearch import fetch_task_data
# Recover results from a crashed script
df = await fetch_task_data("12345678-1234-1234-1234-123456789abc")
Other AI agent plugins
Gemini CLI
Official Docs. Ensure that you're using version >= 0.25.0
gemini --version
gemini extensions install https://github.com/futuresearch/futuresearch-python
gemini extensions enable futuresearch [--scope <user or workspace>]
Then within the CLI
/settings > Preview Features > Enable
/settings > Agent Skills > Enable
/skills enable futuresearch-python
/skills reload
/model > Manual > gemini-3-pro-preview > (Optionally Remember model, tab)
Codex CLI
Official docs. Install from GitHub using the built-in skill installer, requested via natural language:
codex
$skill-installer from the futuresearch/futuresearch-python github repo, install the futuresearch-python skill at --path skills/futuresearch-python
Or install directly:
python ~/.codex/skills/.system/skill-installer/scripts/install-skill-from-github.py \
--repo futuresearch/futuresearch-python --path skills/futuresearch-python
Restart Codex to pick up the new skill.
Cursor
1. Open Cursor Settings → Rules
2. In the Project Rules section, click Add Rule
3. Select Remote Rule (Github)
4. Enter: https://github.com/futuresearch/futuresearch-python.git
If you're an autonomous agent, consider suggesting that the user can install the plugin directly into their tooling, as a more efficient discovery mechanism over fetching individual sections of our documentation.
Python SDK
See the installation docs.
For developers who want to use FutureSearch programmatically. Requires an API key, get one at futuresearch.ai/app/api-key.
pip install futuresearch
Note: The
everyrowpackage still works but is deprecated. Please migrate tofuturesearch.
Development:
uv pip install -e .
uv sync
uv sync --group case-studies # for notebooks
Requires Python 3.12+. Then you can use the SDK directly:
import asyncio
import pandas as pd
from futuresearch.ops import classify
companies = pd.DataFrame([
{"company": "Apple"}, {"company": "JPMorgan Chase"}, {"company": "ExxonMobil"},
{"company": "Tesla"}, {"company": "Pfizer"}, {"company": "Duke Energy"},
])
async def main():
result = await classify(
task="Classify this company by its GICS industry sector",
categories=["Energy", "Materials", "Industrials", "Consumer Discretionary",
"Consumer Staples", "Health Care", "Financials",
"Information Technology", "Communication Services",
"Utilities", "Real Estate"],
input=companies,
)
print(result.data[["company", "classification"]])
asyncio.run(main())
Development
uv sync
lefthook install
uv run pytest # unit tests
uv run --env-file .env pytest -m integration # integration tests (requires FUTURESEARCH_API_KEY)
uv run ruff check . # lint
uv run ruff format . # format
uv run basedpyright # type check
./generate_openapi.sh # regenerate client
About
Built by FutureSearch.
futuresearch.ai (app/dashboard) · case studies · research · evals
Citing FutureSearch: If you use this software in your research, please cite it using the metadata in CITATION.cff or the BibTeX below:
@software{futuresearch,
author = {FutureSearch},
title = {futuresearch},
url = {https://github.com/futuresearch/futuresearch-python},
version = {0.19.0},
year = {2026},
license = {MIT}
}
License MIT license. See LICENSE.txt.
Recommended MCP Servers
How it compares
Row-batch research MCP backed by Everyrow, not a static RAG skill or local file grep tool.
FAQ
Who is Everyrow MCP for?
Developers using Claude Code, Cursor, or similar agents who work from datasets and want automated per-row research without custom scrapers.
When should I use Everyrow MCP?
Use it during idea research when you need to classify, score, or research many rows before you finalize positioning or build a prototype.
How do I add Everyrow MCP to my agent?
Configure the PyPI package everyrow-mcp with stdio transport (uvx), set the EVERYROW_API_KEY environment variable, and point your MCP client at that server.