From f5e4000f19a93b2a074523aa0537fb1dc7f3a6b1 Mon Sep 17 00:00:00 2001 From: Rafael Poyiadzi Date: Fri, 27 Feb 2026 21:36:26 +0000 Subject: [PATCH 1/5] Update MCP server docs for directory submission Add Setup (multi-client), Authentication, Usage Examples, Troubleshooting, and Privacy & Support sections. Document 3 missing tools (upload_data, request_upload_url, balance) bringing total to 15. Co-Authored-By: Claude Opus 4.6 --- docs/mcp-server.md | 142 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 141 insertions(+), 1 deletion(-) diff --git a/docs/mcp-server.md b/docs/mcp-server.md index a55752d7..c59c0b7d 100644 --- a/docs/mcp-server.md +++ b/docs/mcp-server.md @@ -5,10 +5,51 @@ description: Reference for all everyrow MCP server tools — async operations wi # MCP Server Reference -The everyrow MCP server exposes tools for AI-powered data processing. These tools are called directly by Claude Code, Codex CLI, and other MCP clients — no Python code is needed. +The everyrow MCP server exposes 15 tools for AI-powered data processing. These tools are called directly by Claude, Codex CLI, and other MCP clients — no Python code is needed. All operations use an async pattern: submit the task, poll for progress, then retrieve results. This allows long-running operations (1–10+ minutes) to work reliably with MCP clients. +## Setup + +### Claude.ai and Claude Desktop + +1. Go to **Settings → Connectors → Add custom connector** and enter the remote MCP URL: + +``` +https://mcp.everyrow.io/mcp +``` + +2. *(Optional but recommended)* Whitelist the everyrow upload URL so Claude can upload datasets straight from its sandbox — the data doesn't need to pass through the conversation context, saving tokens and improving reliability: + + **Settings → Capabilities → Code execution and file creation → Additional allowed domains** → add `mcp.everyrow.io` + +### Claude Code + +**Option A: Plugin install (recommended)** + +```bash +claude plugin marketplace add futuresearch/everyrow-sdk +claude plugin install everyrow@futuresearch +``` + +**Option B: Remote HTTP MCP** + +```bash +claude mcp add everyrow --scope project --transport http https://mcp.everyrow.io/mcp +``` + +Then start Claude Code and authenticate: + +1. Run `claude` +2. Type `\mcp`, select **everyrow**, and complete the OAuth flow +3. Test with: *"check my everyrow balance"* + +## Authentication + +**Remote MCP (Claude.ai, Claude Desktop, Claude Code HTTP):** OAuth 2.0 via Google. Authentication is handled automatically by the MCP client — no API keys or manual setup required. You'll be prompted to sign in with your Google account on first use. + +**Claude Code plugin (stdio):** Uses an API key. Generate yours at [everyrow.io/api-key](https://everyrow.io/api-key) and paste it when prompted during plugin setup. + ## Operation Tools ### everyrow_screen @@ -151,6 +192,39 @@ List all sessions owned by the authenticated user. Returns session names, IDs, t Returns a formatted list of sessions with links to the web dashboard. +### everyrow_upload_data + +Upload data from a URL or local file. Returns an `artifact_id` for use in processing tools. + +Use this to ingest data before calling any operation tool. Supported sources: + +- HTTP(S) URLs (including Google Sheets — auto-converted to CSV export) +- Local CSV file paths (stdio/local mode only — not available over HTTP) + +| Parameter | Type | Required | Description | +|-----------|------|----------|-------------| +| `source` | string | Yes | Data source: HTTP(S) URL or absolute local file path. Google Sheets and Drive URLs are supported. | +| `session_id` | string | No | Session ID (UUID) to resume. Mutually exclusive with `session_name`. | +| `session_name` | string | No | Human-readable name for a new session. Mutually exclusive with `session_id`. | + +Returns `artifact_id` (UUID), `session_id`, row count, and column names. + +### everyrow_request_upload_url + +Request a presigned URL to upload a local CSV file. This is the recommended way to ingest local files when using the remote HTTP MCP server. + +| Parameter | Type | Required | Description | +|-----------|------|----------|-------------| +| `filename` | string | Yes | Name of the file to upload (must end in `.csv`). | + +Returns a presigned upload URL, upload ID, expiration time, max file size, and a ready-to-execute `curl` command. After uploading, use the returned `artifact_id` in any processing tool. + +### everyrow_balance + +Check the current billing balance for the authenticated user. No parameters required. + +Returns the account balance in dollars. + ## Workflow ``` @@ -173,6 +247,32 @@ Returns a formatted list of sessions with links to the web dashboard. The agent handles this loop automatically. You don't need to intervene. +## Usage Examples + +### Lead screening + +> "Screen this list and keep only companies with >50 employees that raised Series A+" + +Uses `everyrow_screen` to filter a CSV of companies. Each row is evaluated by a web research agent that checks employee count and funding stage. Rows that don't meet the criteria are filtered out. + +### Web research + +> "For each competitor, find their pricing model, employee count, and latest funding" + +Uses `everyrow_agent` with a custom `response_schema` to extract structured fields for each row. The agent searches the web for each company and returns the requested data. + +### Deduplication + +> "Dedupe this CRM export — merge rows referring to the same person" + +Uses `everyrow_dedupe` to identify and remove semantic duplicates. Rows are compared beyond exact string matching — the agent recognizes that "J. Smith at Acme" and "John Smith, Acme Corp" are the same person. + +### Ranking + +> "Rank these nonprofits by climate impact in Sub-Saharan Africa" + +Uses `everyrow_rank` to score and sort rows by a qualitative criterion. Each row is researched and scored, then the results are sorted. + ## Custom Response Schemas All tools that accept `response_schema` take a JSON schema object: @@ -212,3 +312,43 @@ claude plugin install everyrow@futuresearch ``` See [Progress Monitoring](/docs/progress-monitoring) for status line setup and hook details. + +## Troubleshooting + +### Auth flow not completing + +If the OAuth sign-in window opens but authentication doesn't complete: + +- Ensure pop-ups are not blocked in your browser +- Try closing and reopening the MCP connection +- For Claude Code HTTP mode, run `\mcp` and re-authenticate from the MCP panel + +### Task stuck in progress + +If `everyrow_progress` keeps returning a running state for an extended period: + +- Large datasets (1000+ rows) can take 10+ minutes — this is normal +- Use `everyrow_cancel` to stop the task and retry with a smaller dataset +- Check the session dashboard at the `session_url` for real-time status + +### Results appear empty + +If `everyrow_results` returns fewer rows than expected: + +- Some rows may have failed processing — check the session dashboard for error details +- Ensure the input CSV was well-formed (proper headers, no encoding issues) +- Retry failed rows by running the same operation on the filtered subset + +### Token budget exceeded + +If you get a token budget error: + +- Results are automatically paginated — call `everyrow_results` again to get the next page +- Use a custom `response_schema` with fewer fields to reduce output size +- Split large datasets into smaller batches + +## Privacy & Support + +- **Privacy Policy:** [futuresearch.ai/privacy](https://futuresearch.ai/privacy/) +- **Terms of Service:** [futuresearch.ai/terms](https://futuresearch.ai/terms/) +- **Support:** [support@futuresearch.ai](mailto:support@futuresearch.ai) From a211032ee4ba5c4b2927593332c2fc53a3159bb0 Mon Sep 17 00:00:00 2001 From: Rafael Poyiadzi Date: Fri, 27 Feb 2026 22:27:45 +0000 Subject: [PATCH 2/5] Add setup videos and convert docs to MDX Convert mcp-server.md to .mdx for HTML support. Add compressed setup walkthrough videos with poster thumbnails for Claude.ai/Desktop connector setup, upload domain whitelisting, and Claude Code HTTP MCP. Co-Authored-By: Claude Opus 4.6 --- .../videos/setup-claude-code-poster.jpg | 3 +++ docs-site/public/videos/setup-claude-code.mp4 | 3 +++ .../public/videos/setup-claude-web-poster.jpg | 3 +++ docs-site/public/videos/setup-claude-web.mp4 | 3 +++ .../public/videos/setup-whitelist-poster.jpg | 3 +++ docs-site/public/videos/setup-whitelist.mp4 | 3 +++ docs/{mcp-server.md => mcp-server.mdx} | 22 +++++++++++++++++++ 7 files changed, 40 insertions(+) create mode 100644 docs-site/public/videos/setup-claude-code-poster.jpg create mode 100644 docs-site/public/videos/setup-claude-code.mp4 create mode 100644 docs-site/public/videos/setup-claude-web-poster.jpg create mode 100644 docs-site/public/videos/setup-claude-web.mp4 create mode 100644 docs-site/public/videos/setup-whitelist-poster.jpg create mode 100644 docs-site/public/videos/setup-whitelist.mp4 rename docs/{mcp-server.md => mcp-server.mdx} (91%) diff --git a/docs-site/public/videos/setup-claude-code-poster.jpg b/docs-site/public/videos/setup-claude-code-poster.jpg new file mode 100644 index 00000000..15c747f7 --- /dev/null +++ b/docs-site/public/videos/setup-claude-code-poster.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:21dc029b7ba60939afbded85726f02592c7168a30882cbdc3e013296eb9ab2f4 +size 116245 diff --git a/docs-site/public/videos/setup-claude-code.mp4 b/docs-site/public/videos/setup-claude-code.mp4 new file mode 100644 index 00000000..2673c094 --- /dev/null +++ b/docs-site/public/videos/setup-claude-code.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3385b9c862c5d1674bae2836253cd878e98b598002e2c23836390aa7d22ac287 +size 297629 diff --git a/docs-site/public/videos/setup-claude-web-poster.jpg b/docs-site/public/videos/setup-claude-web-poster.jpg new file mode 100644 index 00000000..01299faa --- /dev/null +++ b/docs-site/public/videos/setup-claude-web-poster.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:534928c267a17e06cbcd9571a4237bcc4c94df31cf589d60fbcd42158d1b431a +size 74508 diff --git a/docs-site/public/videos/setup-claude-web.mp4 b/docs-site/public/videos/setup-claude-web.mp4 new file mode 100644 index 00000000..1847fed4 --- /dev/null +++ b/docs-site/public/videos/setup-claude-web.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1f8970b2dccb1f16130f97594c05acd0aa67171f89f41dc0a55b165ee52dba1d +size 375086 diff --git a/docs-site/public/videos/setup-whitelist-poster.jpg b/docs-site/public/videos/setup-whitelist-poster.jpg new file mode 100644 index 00000000..be7e3df4 --- /dev/null +++ b/docs-site/public/videos/setup-whitelist-poster.jpg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ecf1ca2c32e211803807bd3b8d857350a09b76d8276404a7cccc5faa005de1a1 +size 141010 diff --git a/docs-site/public/videos/setup-whitelist.mp4 b/docs-site/public/videos/setup-whitelist.mp4 new file mode 100644 index 00000000..1a0c63b2 --- /dev/null +++ b/docs-site/public/videos/setup-whitelist.mp4 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37d9ed20ef8f7612c57ce24b90d0c9eb93b337cd3be3fb807b0efef7782537e8 +size 316243 diff --git a/docs/mcp-server.md b/docs/mcp-server.mdx similarity index 91% rename from docs/mcp-server.md rename to docs/mcp-server.mdx index c59c0b7d..f690083c 100644 --- a/docs/mcp-server.md +++ b/docs/mcp-server.mdx @@ -23,6 +23,21 @@ https://mcp.everyrow.io/mcp **Settings → Capabilities → Code execution and file creation → Additional allowed domains** → add `mcp.everyrow.io` +
+
+

Adding the connector

+ +
+
+

Whitelisting the upload domain

+ +
+
+ ### Claude Code **Option A: Plugin install (recommended)** @@ -44,6 +59,13 @@ Then start Claude Code and authenticate: 2. Type `\mcp`, select **everyrow**, and complete the OAuth flow 3. Test with: *"check my everyrow balance"* +
+

Connecting Claude Code via remote HTTP MCP

+ +
+ ## Authentication **Remote MCP (Claude.ai, Claude Desktop, Claude Code HTTP):** OAuth 2.0 via Google. Authentication is handled automatically by the MCP client — no API keys or manual setup required. You'll be prompted to sign in with your Google account on first use. From d9d2ffbc36f122892b5cc030e1437d3066828ae4 Mon Sep 17 00:00:00 2001 From: Rafael Poyiadzi Date: Fri, 27 Feb 2026 22:29:43 +0000 Subject: [PATCH 3/5] Use uncompressed setup videos Co-Authored-By: Claude Opus 4.6 --- docs-site/public/videos/setup-claude-code.mp4 | 4 ++-- docs-site/public/videos/setup-claude-web.mp4 | 4 ++-- docs-site/public/videos/setup-whitelist.mp4 | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs-site/public/videos/setup-claude-code.mp4 b/docs-site/public/videos/setup-claude-code.mp4 index 2673c094..4fb8107f 100644 --- a/docs-site/public/videos/setup-claude-code.mp4 +++ b/docs-site/public/videos/setup-claude-code.mp4 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3385b9c862c5d1674bae2836253cd878e98b598002e2c23836390aa7d22ac287 -size 297629 +oid sha256:2e30f5156a82531ceb8e416ce440cf53e69af6c296db7a2d2a7b3279735d5bf7 +size 1982746 diff --git a/docs-site/public/videos/setup-claude-web.mp4 b/docs-site/public/videos/setup-claude-web.mp4 index 1847fed4..6b8c39ab 100644 --- a/docs-site/public/videos/setup-claude-web.mp4 +++ b/docs-site/public/videos/setup-claude-web.mp4 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1f8970b2dccb1f16130f97594c05acd0aa67171f89f41dc0a55b165ee52dba1d -size 375086 +oid sha256:625cb4b00b49b56a299c8ff1bd8426effe16edb7fd1dc437351196a2134cd90a +size 2255536 diff --git a/docs-site/public/videos/setup-whitelist.mp4 b/docs-site/public/videos/setup-whitelist.mp4 index 1a0c63b2..531aa18c 100644 --- a/docs-site/public/videos/setup-whitelist.mp4 +++ b/docs-site/public/videos/setup-whitelist.mp4 @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:37d9ed20ef8f7612c57ce24b90d0c9eb93b337cd3be3fb807b0efef7782537e8 -size 316243 +oid sha256:1695ff259c2a7e41caace7cf6c34723b6f09fb65b07fd3c88b27d743ff9cb966 +size 1980392 From 75978c372faf91e3ce613bc8547e11e83dc57618 Mon Sep 17 00:00:00 2001 From: Rafael Poyiadzi Date: Fri, 27 Feb 2026 22:30:19 +0000 Subject: [PATCH 4/5] Re-extract poster frames from original videos Co-Authored-By: Claude Opus 4.6 --- docs-site/public/videos/setup-claude-code-poster.jpg | 4 ++-- docs-site/public/videos/setup-claude-web-poster.jpg | 4 ++-- docs-site/public/videos/setup-whitelist-poster.jpg | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/docs-site/public/videos/setup-claude-code-poster.jpg b/docs-site/public/videos/setup-claude-code-poster.jpg index 15c747f7..85bd1461 100644 --- a/docs-site/public/videos/setup-claude-code-poster.jpg +++ b/docs-site/public/videos/setup-claude-code-poster.jpg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:21dc029b7ba60939afbded85726f02592c7168a30882cbdc3e013296eb9ab2f4 -size 116245 +oid sha256:c2f4ce68426804a577e39a01869a829968edf7d9c6c194ac190032a8ca854839 +size 118895 diff --git a/docs-site/public/videos/setup-claude-web-poster.jpg b/docs-site/public/videos/setup-claude-web-poster.jpg index 01299faa..f9e01586 100644 --- a/docs-site/public/videos/setup-claude-web-poster.jpg +++ b/docs-site/public/videos/setup-claude-web-poster.jpg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:534928c267a17e06cbcd9571a4237bcc4c94df31cf589d60fbcd42158d1b431a -size 74508 +oid sha256:30240c2e7d29bf6394026c78060f735572c4ba6978ae4ef0b04971396341ea60 +size 76382 diff --git a/docs-site/public/videos/setup-whitelist-poster.jpg b/docs-site/public/videos/setup-whitelist-poster.jpg index be7e3df4..517cd0e4 100644 --- a/docs-site/public/videos/setup-whitelist-poster.jpg +++ b/docs-site/public/videos/setup-whitelist-poster.jpg @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ecf1ca2c32e211803807bd3b8d857350a09b76d8276404a7cccc5faa005de1a1 -size 141010 +oid sha256:9d2d56ead8d0947e49e0f08b8b367f3f63538a11ec5145d65b04edd9ac34b97b +size 141396 From ba92bac415c0f4f1fb340249a0287274cd402c0f Mon Sep 17 00:00:00 2001 From: Rafael Poyiadzi Date: Fri, 27 Feb 2026 22:47:16 +0000 Subject: [PATCH 5/5] Document browse_lists/use_list and expand forecast docs Add everyrow_browse_lists and everyrow_use_list tool documentation. Expand everyrow_forecast with required input columns and output fields. Update tool count from 15 to 17. Co-Authored-By: Claude Opus 4.6 --- docs/mcp-server.mdx | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/docs/mcp-server.mdx b/docs/mcp-server.mdx index f690083c..35625aa7 100644 --- a/docs/mcp-server.mdx +++ b/docs/mcp-server.mdx @@ -5,7 +5,7 @@ description: Reference for all everyrow MCP server tools — async operations wi # MCP Server Reference -The everyrow MCP server exposes 15 tools for AI-powered data processing. These tools are called directly by Claude, Codex CLI, and other MCP clients — no Python code is needed. +The everyrow MCP server exposes 17 tools for AI-powered data processing. These tools are called directly by Claude, Codex CLI, and other MCP clients — no Python code is needed. All operations use an async pattern: submit the task, poll for progress, then retrieve results. This allows long-running operations (1–10+ minutes) to work reliably with MCP clients. @@ -74,6 +74,27 @@ Then start Claude Code and authenticate: ## Operation Tools +### everyrow_browse_lists + +Browse available reference lists of well-known entities — companies (S&P 500, FTSE 100, Russell 3000, sector breakdowns), geographic lists (countries, US states, cities), people (billionaires, heads of state), institutions (universities, regulators), and more. + +Call with no parameters to see all available lists, or narrow results with `search`/`category`. Returns names, fields, and `artifact_id`s to pass to `everyrow_use_list`. + +| Parameter | Type | Required | Description | +|-----------|------|----------|-------------| +| `search` | string | No | Search term to match against list names (case-insensitive). | +| `category` | string | No | Filter by category (e.g. `"Finance"`, `"Geography"`). | + +### everyrow_use_list + +Import a reference list into your session and save it as a CSV file. The copy is a fast database operation (<1s) — no polling needed. + +| Parameter | Type | Required | Description | +|-----------|------|----------|-------------| +| `artifact_id` | string | Yes | `artifact_id` from `everyrow_browse_lists` results. | + +Returns the saved CSV path, row count, and column names. + ### everyrow_screen Filter rows in a CSV based on criteria that require judgment. @@ -143,7 +164,9 @@ Returns `task_id` and `session_url`. Call `everyrow_progress` to monitor. ### everyrow_forecast -Forecast the probability of binary questions. +Forecast the probability of binary questions. The input CSV should contain a `question` column. Recommended additional columns: `resolution_criteria`, `resolution_date`, `background`. + +Output columns added: `probability` (int, 0–100) and `rationale` (string). | Parameter | Type | Required | Description | |-----------|------|----------|-------------|