Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Oeis MCP Server

by cyanheadsversion 0.1.3i★ –iComputer or cloud
Registry nameio.github.cyanheads/oeis-mcp-server

Install

Overview

Description from the maker (original English)

Identify integer sequences by terms, search the OEIS, read formulas, programs, b-files, cross-refs.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 3 of 3 passed
  • Runs on the maker’s server: what you ask it goes through their server.
  • Can do 6 things (tools) oeis_identify_sequence, oeis_search_sequences, oeis_get_sequence, oeis_get_terms …
  • You fill in yourself: MCP_LOG_LEVEL, OEIS_QUEUE_MAX_WAIT_MS

You need

  • Runs in the cloudNothing to install; it connects over the internet
  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Works in Claude on the web, desktop and mobile:

  1. Open Settings → Connectors
  2. Press Add custom connector
  3. Paste the address below and press Add
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Add2https://…3
https://oeis.caseyjhand.com/mcp

Or run it on your computer

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "oeis": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/oeis-mcp-server"
      ],
      "env": {
        "MCP_LOG_LEVEL": "your-value",
        "OEIS_QUEUE_MAX_WAIT_MS": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add --transport http oeis https://oeis.caseyjhand.com/mcp

Or run it on your computer

claude mcp add oeis --env MCP_LOG_LEVEL=your-value --env OEIS_QUEUE_MAX_WAIT_MS=your-value -- npx -y @cyanheads/oeis-mcp-server

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "oeis": {
      "url": "https://oeis.caseyjhand.com/mcp"
    }
  }
}

Or run it on your computer

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "oeis": {
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/oeis-mcp-server"
      ],
      "env": {
        "MCP_LOG_LEVEL": "your-value",
        "OEIS_QUEUE_MAX_WAIT_MS": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "oeis": {
      "type": "http",
      "url": "https://oeis.caseyjhand.com/mcp"
    }
  }
}

Or run it on your computer

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "oeis": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/oeis-mcp-server"
      ],
      "env": {
        "MCP_LOG_LEVEL": "your-value",
        "OEIS_QUEUE_MAX_WAIT_MS": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

ChatGPT connects only to servers on the internet:

  1. Open ChatGPT on the web → Settings → Connectors (Apps)
  2. Press Create or Add (some plans need Developer mode under Advanced first)
  3. Paste the address below, give it a name and save
  4. If it asks you to sign in, sign in with the maker
SettingsConnectors1+ Create2https://…3
https://oeis.caseyjhand.com/mcp

Menu names can differ slightly by plan and over time.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • MCP_LOG_LEVEL env
    Sets the minimum log level for output (e.g., 'debug', 'info', 'warn').
  • OEIS_QUEUE_MAX_WAIT_MS env
    Longest a call waits in the oeis.org request queue (paced to one start per 10 s) before failing with RateLimited and retryAfter, in milliseconds.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Tool names and descriptions exactly as the server reported them on Nov 7, 2026. The maker wrote them, not us; we show them as plain text.

  • oeis_identify_sequence

    Identify integer sequences that contain a run of consecutive terms, e.g. "1, 2, 5, 14, 42". Returns up to 10 matches per page in OEIS relevance order, each with the index n at which the supplied run begins. For the best hit rate supply about 6 terms and leave off the first one or

  • oeis_search_sequences

    Search the OEIS using its query syntax: plain words, "quoted phrases", comma-separated terms, prefixes (keyword:, author:, name:, comment:, formula:, program:, xref:, id:), | for OR, and a leading - to exclude. Returns up to 10 summaries per page. For identifying a sequence from

  • oeis_get_sequence

    Fetch one OEIS entry by A-number. Returns the name, data-line terms, offset, keywords, author, dates, and the sections: comments, formulas (recurrences and generating functions), examples, programs (Maple, Mathematica, PARI, Python, …), references, links, cross-references, and ex

  • oeis_get_terms

    List terms a(n) of a sequence with their indices n. Reads the entry's b-file when it has one — often thousands of terms beyond the data line — and otherwise the data line itself. Values are exact decimal strings of any size. A slice stops at limit terms (at most 1000 per call), a

  • oeis_get_cross_refs

    List sequences related to an OEIS entry. direction outgoing returns the A-numbers named in the entry's cross-reference (Cf.) lines, with any parenthetical note beside each; direction incoming returns entries that mention this A-number anywhere. Each row carries the related sequen

  • oeis_list_reference

    Look up OEIS vocabulary used by the other tools: keyword flags (nonn, core, tabl, cons, …), search syntax (prefixes, operators, wildcards, sort orders, paging window), and identifier conventions (A-numbers, legacy M/N numbers, offsets, b-files).

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account cyanheads, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • ✓ Pass

    Endpoint responds

    Responded in 154 ms (HTTP 200)

  • – Not applicable

    Sign-in with OAuth

    No sign-in needed

  • ✓ Pass

    No hidden instructions in tool descriptions

    Read 6 tool descriptions and found no hidden instructions to the AI

Compared with others in Docs, sheets & office worki

  • More stars than 0% of the other 3577 servers in this category
  • Published to the registry more recently than 60% of the other 3577 servers in this category
  • Basic checks equal to or better than 100% of the other 3577 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Oeis MCP Server safe?

It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

The registry does not list a required key, though some servers ask you to sign in on first use.

Does it run on my computer or in the cloud?

Either way works: install it on your computer or connect to the cloud version.

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.1.3) reached the registry 21 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.

What can I use instead?

In the same category: Agent-Native Calendar, Excel MCP Server, MCP Server for Excel

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Agent-Native Calendar

Agent-Native Google Calendar - manage events, sync, and public booking

by BuilderIOGrowing★ 7.6KUpdated 2 months ago

Runs in the cloud

Excel MCP Server

Lets AI create and edit Excel files itself, including formulas, charts and PivotTables, without Excel installed.

by haris-musaWidely used↓ 49.6K/wk★ 4.3KUpdated 8 days ago

Runs on your computer

MCP Server for Excel

Excel automation for AI - Sheets, Power Query, DAX, VBA, Tables, Ranges and more. Windows only.

by sbroenneGrowing↓ 4.3K/wk★ 847Updated 5 days ago

Runs on your computer

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

@cyanheads/oeis-mcp-server Identify integer sequences by terms, search the OEIS, read formulas, programs, b-files, cross-refs via MCP. STDIO or Streamable HTTP. 6 Tools • 1 Resource

Public Hosted Server: https://oeis.caseyjhand.com/mcp


Overview

Integer sequences from the On-Line Encyclopedia of Integer Sequences (OEIS). Identify a sequence from a few observed terms, search with OEIS's own query syntax, read an entry's formulas and programs, page through extended terms from its b-file, and walk its cross-references. Every result links to its oeis.org page. No API key required.

Tools
ToolDescription
oeis_identify_sequenceIdentify sequences that contain a run of consecutive terms, in OEIS relevance order, with the index where the run begins
oeis_search_sequencesSearch with OEIS query syntax: words, quoted phrases, term lists, and prefixes such as keyword: and author:
oeis_get_sequenceFetch one entry by A-number: terms, offset, keywords, formulas, programs, comments, references, links, and cross-references
oeis_get_termsList terms a(n) with their indices from the entry's b-file, or from its data line when it has none
oeis_get_cross_refsList the sequences an entry cross-references, or the entries that mention it
oeis_list_referenceDecode keyword flags, search syntax, and identifier and offset conventions, with no upstream call
Resources
ResourceDescription
oeis://sequence/{aNumber}One entry by A-number as JSON, always whole

The same record is available through oeis_get_sequence for clients that only call tools.

Capability reference

oeis_identify_sequence tool
  • terms: up to 60 consecutive terms separated by commas or spaces (a bracketed list or a trailing ... is accepted), each an integer of at most 200 digits or _ for one unknown term; matchSigns (default false) ignores signs unless set
  • Up to 10 candidates per page, start 0–100 in steps of 10; each row carries the oeis_search_sequences row fields plus matchStartIndex, the n where the run begins in that entry's data line (absent when the run isn't there)
  • No match and "too many results" both return an empty page; the notice says which and how to retry (drop leading terms, divide out a common factor, or add terms). OEIS matches a run only within each entry's data line (at most about 270 characters), never its b-file, and a zero-hit notice says so when every nonzero term has 10 or more digits, five or more terms of 4 or more digits lie within 10% of each other, or the run passes 270 characters

oeis_search_sequences tool
  • query (1–1,000 characters) is sent as written: words, "quoted phrases", term lists, prefixes such as keyword:, author:, name:, formula:, xref:, and id:, | for OR, and a leading - to exclude
  • sort: relevance (default), number, created, or modified; 10 per page, start 0–100 in steps of 10
  • Rows carry name, terms, offset / firstIndex, keywords, author, legacyIds, modified (the last edit, ISO 8601 with offset), and url, in oeis_get_sequence's formats; author and legacyIds are absent where OEIS has none
  • Reports totalCount and effectiveQuery, the query as OEIS parsed it. A query OEIS parses as one run of terms (effectiveQuery reads seq: or signed: and the terms, as for bare numbers separated by commas) is matched within each entry's data line, as in oeis_identify_sequence, and its zero-hit notice names that limit under the same conditions
  • With spaces alone between numbers, OEIS starts a new run at a negative term after the first and does not join fewer than three numbers; when effectiveQuery shows that split, the notice says so and gives the terms joined by commas to search as one run

oeis_get_sequence tool
  • Returns name, terms, offset / firstIndex, keywords, author, legacyIds, referenceCount, revision, created / modified, url, and bFileUrl, plus eight sections: comments, formulas, examples, programs, references, links, crossReferences, extensions
  • When the sections exceed 24,000 characters of serialized JSON, kind: "outline" returns the core fields and a sized sections list; pass sections (e.g. ["formulas", "programs"]) to get the chosen ones
  • A selection past 100,000 bytes comes back in parts cut between whole items; pass each part's nextFromItem as fromItem, with the same sections, for the next. A fromItem naming a section not in sections fails as from_item_not_selected
  • An unknown A-number fails as sequence_not_found; withdrawn (dead), reserved, and recycled entries come back with a notice

oeis_get_terms tool
  • fromIndex (default: the first available index) and limit (default 100; one call returns at most 1,000 terms, so a larger limit is served as 1,000); a slice also stops at about 100,000 bytes or at the end of a 1 MiB part of the b-file, and nextFromIndex continues it
  • source: "bfile" reads the entry's b-file in 1 MiB parts, so a fromIndex past the first 1 MiB costs one or two more paced requests; bFileCut: true means the file goes on past lastAvailableIndex. source: "data" means the entry has no b-file and the terms are its data line
  • Terms come back as { n, value }, value an exact decimal string; an unknown A-number fails as sequence_not_found
  • A b-file line that is not blank, a # comment, or an n a(n) pair is skipped, and the notice says how many; a b-file that holds no pair at all fails as upstream_unparseable and is not cached

oeis_get_cross_refs tool
  • direction: "outgoing" (default) lists the A-numbers named in the entry's cross-reference lines, with the note written beside each and the lines verbatim; "incoming" lists the entries that mention the A-number
  • 10 rows per page, start 0–100 in steps of 10; every row carries url, and resolved rows add the name, terms, offset, keywords, author, legacy IDs, and last edit (modified)
  • If the name lookup for an outgoing page is rate-limited, unavailable, or times out, rows come back resolved: false with a retry notice instead of failing; sequence_not_found applies to outgoing only

oeis_list_reference tool
  • topic: keywords (flags such as nonn, core, tabl, cons), search_syntax (prefixes, operators, wildcards, sort orders, paging), or identifiers (A-numbers, legacy M/N numbers, offsets, b-files)
  • Returns entries (name, description) and notes from static tables

oeis://sequence/{aNumber} resource
  • The full entry as application/json: the record oeis_get_sequence returns with kind: "full", never outlined
  • aNumber takes the same forms as the tools (oeis://sequence/A108 reads A000108); an unknown A-number fails as sequence_not_found

Features

Built on @cyanheads/mcp-ts-core: stdio and Streamable HTTP transports, pluggable auth (none / jwt / oauth), swappable storage (in-memory, filesystem, Supabase, Cloudflare KV/R2/D1), structured logging with optional OpenTelemetry tracing.

OEIS-specific:

  • One paced, cached oeis.org client (see Pacing and caching); searches tell "no results" apart from "too many results" and report the match total
  • Forgiving A-numbers: A000045, a000045, A45, 45, and an oeis.org sequence URL all resolve in every tool; a legacy M/N book number is pointed to oeis_search_sequences
  • Exact terms: every term and b-file value is a decimal string, so values past 2^53 keep every digit
  • Pasted term runs are normalized: brackets, a trailing ..., the Unicode minus sign, and mixed comma and space separators

Agent-friendly output:

  • Paging context on every page (truncated, shown, cap, plus totalCount and effectiveQuery where OEIS reports them) and a notice that says how to narrow or continue
  • Typed failures with recovery hints: sequence_not_found, from_item_not_selected, upstream_unparseable, pacer_shed, and upstream_rate_limited, the rate-limit errors carrying retryAfter when one is known
  • Discriminated outputs (kind, source, per-row resolved), so callers branch on data, not string parsing
  • Every record and row carries its https://oeis.org/A###### URL; contributor-written text renders as code spans and code fences, so a markdown client shows formulas and names exactly as written, and only http and https link URLs are kept

Pacing and caching

oeis.org asks automated clients to wait 10 seconds between requests. The server sends one upstream request at a time and starts each at least 10 seconds after the last, across every tool. Results are cached in memory, so a repeated lookup returns at once and costs oeis.org nothing: records for 24 hours, or until a search result shows a later edit (then revalidated with a conditional request), search pages for 1 hour, and b-file parts for 7 days. An entry's cached "no b-file" answer is dropped as soon as a fetched record lists a b-file.

A call with nothing cached waits its turn in the queue. When the wait would pass OEIS_QUEUE_MAX_WAIT_MS (default 30,000 ms), the call fails with pacer_shed and a retryAfter instead of hanging. If oeis.org answers 429, the server holds every queued call back before trying again, and reports upstream_rate_limited once its retries are spent. The pace is per server process.

Known limitations

  • Anonymous paging is capped upstream at 110 results per query (start ≤ 100); A000045's 6,161 incoming references, for example, are reachable only through their first 110.
  • A query OEIS judges too broad returns no rows ("Too many results"), which is common f

Only the beginning is shown; read the rest in the repo

Ask PopNx