---
title: "Every Number for AI assistants · Every Number"
url: "https://everynumber.app/agents"
description: "Add Every Number to your AI assistant as an MCP server, or call the API. It sends a spreadsheet and gets back a dashboard link and every number with its receipt."
updated: "2026-10-30"
---

For AI assistants

# Let your assistant send the file.

Your AI assistant sends a spreadsheet export and gets back a dashboard link and every number with its receipt: the definition, the rows it used, and the rows it left out.

## Add the MCP server

One tool, `make_dashboard_from_file`, over Streamable HTTP. No sign-in.

`https://everynumber.app/mcp`

### Claude Code

`claude mcp add --transport http every-number https://everynumber.app/mcp`

### Other assistants

Add a remote MCP server with the address above. If your assistant takes a settings file, this is the entry:

`{ "mcpServers": { "every-number": { "url": "https://everynumber.app/mcp" } } }`

## Or call the API

Send the file as a form upload, or JSON with a link. You get the same JSON as the tool.

`curl -F file=@orders.csv https://everynumber.app/api/agents/try`

`curl -H "Content-Type: application/json" -d '{"file_url": "https://everynumber.app/samples/tickets/tickets-export-2026-10-18.csv"}' https://everynumber.app/api/agents/try`

## What it can send

**`file_url`**

A link to the file: a Google Sheet shared as “Anyone with the link”, a Dropbox link, a file in a public GitHub repository, or one of our sample files.

**`file_content`**

The file itself: CSV text as it is, or an Excel file as base64. Send file_name with it, such as orders.csv.

**`sheet`**

For an Excel file with several sheets, the one to read. Without it, we read the sheet with the most data.

## What comes back

From our sample support tickets file, the first number on the dashboard:

```
{
  "dashboard_url": "https://everynumber.app/try/…",
  "title": "Tickets",
  "expires_at": "…",
  "numbers": [
    {
      "label": "Open",
      "value": "285",
      "receipt": {
        "definition": "Number of rows where Closed is blank.",
        "rows_in_file": 2558,
        "rows_used": 285,
        "rows_outside_definition": 2149,
        "rows_left_out": [
          {
            "reason": "Spam",
            "count": 52,
            "rows": "Rows 40, 85, 110, 251, 375, 397 and 46 more"
          },
          {
            "reason": "Duplicates",
            "count": 72,
            "rows": "Rows 20, 33, 43, 52, 55, 123 and 66 more"
          }
        ]
      }
    },
    "…"
  ],
  "how_counted": "Fixed rules picked this screen from the columns, and a database counted every number. …"
}
```

## The same rules as the try page

- **No account** Sign up only if you want to keep a dashboard.
- **Gone in 24 hours** Unless someone opens the link and saves it, we delete the dashboard and the rows we read 24 hours after upload.
- **No AI reads your file** The first screen is laid out by fixed rules, and every number is counted by a database. Your assistant gets the numbers we counted, each with its receipt.
- **The link is the key** Anyone with the dashboard link can open it until it's deleted. Share it like you'd share the file.
- **Same limits as the try page** Up to 10 MB per file, 5 files every 10 minutes and 20 a day from one place.

How we handle the files: [Privacy policy](https://everynumber.app/privacy) and [Security](https://everynumber.app/security). No assistant at hand? [Try it with your own file](https://everynumber.app/try).
