Free · OAuth or API key · 29 hosted tools

Connect Codersera to ChatGPT, Claude, Cursor — and stop clicking.

One MCP endpoint hands your AI agent the whole Codersera toolbox: Ahrefs Domain Rating, IP metadata, invoices, notes, tasks, the startup-directory list, Markdown rendering, local-model picks, and voice. Ask for the outcome; the agent does the tool calls.

MCP server URL
https://codersera.com/api/mcp
Quick Answer

Codersera runs a hosted MCP (Model Context Protocol) server at https://codersera.com/api/mcp. Add that one URL to ChatGPT, Claude, Cursor, Codex, Windsurf, or any MCP-capable client, sign in with your Codersera account when the client opens OAuth, and your agent can check Ahrefs Domain Rating, look up IP metadata, build invoices, read and write your notes and tasks, work the startup-directory submission list, render Markdown, pick a local AI model, and generate voice clips — without you opening a single tab. Headless clients can authenticate with a cw_live_… API key instead of OAuth. A local npm package (@coderseranpm/mcp) adds the file-writing invoice tools that a remote server cannot provide.

What it is

One protocol, so every assistant gets the same tools

The Model Context Protocol is an open standard for exposing tools to AI clients. Because Codersera speaks it, you do not need a ChatGPT plugin, a Claude extension, and a Cursor integration — you need one endpoint that all three already know how to talk to.

01

Add the endpoint

Paste https://codersera.com/api/mcp into your client's MCP / connector settings. Every OAuth-capable client discovers Codersera's authorization server from that URL alone — there is nothing else to configure.

02

Sign in and approve

The client opens Codersera sign-in, then a consent screen listing the scopes it asked for (mcp:read, mcp:write, offline_access). Approve once. Headless clients skip this and send a cw_live_… key as a Bearer token instead.

03

Ask for the work, not the clicks

"Check DR for these 40 domains and sort them", "invoice Acme for last month's hours", "file these meeting notes and queue the follow-ups on my agent board" — the agent picks the tools and returns the result.

Two ways to connect

Hosted endpoint, or the local package

Start hosted. Add the local package only when you need files written onto your own machine — that is the one thing a remote server cannot do for you.

Recommended

Hosted — Streamable HTTP

https://codersera.com/api/mcp
  • Nothing to install, nothing to update
  • OAuth 2.1 with PKCE for browser-capable clients
  • cw_live_… Bearer key for headless clients
  • All 29 account and utility tools
  • No file-writing tools (a remote server has no access to your disk)
For local files

Local — npm package over stdio

npx -y @coderseranpm/mcp
  • Adds write_invoice_html, write_invoice_pdf, write_invoice_json
  • Renders PDFs through a browser you already have — never downloads Chromium
  • Invoice maths runs entirely on your machine
  • Needs a cw_live_… key in CODERSERA_MCP_API_KEY
  • Same 100-target cap on bulk Domain Rating as the hosted server

Getting a key

Sign in to Codersera, open the MCP panel on the invoice generator, and generate a cw_live_… key. Copy it once — regenerating revokes the previous key immediately, so every client using it stops working until you update them.

Open the key panel →
Platform setup

Add Codersera MCP to your client

Six paths, same server. Pick the row that matches what you actually use.

ChatGPT

OAuth — no key
  1. Open Settings → Connectors → add a custom connector (this lives behind the developer/connector settings depending on your plan).
  2. Paste the MCP server URL: https://codersera.com/api/mcp
  3. Choose OAuth if ChatGPT asks for an authentication method, then sign in to Codersera and click Allow once.
  4. Enable the connector in a chat and ask for the work — ChatGPT picks the tools itself.

ChatGPT is browser-capable, so OAuth is the right path. You never paste a key.

Claude (web & desktop)

OAuth, or JSON + key
  1. Claude web / desktop: Settings → Connectors → Add custom connector → paste the hosted URL and sign in when the OAuth window opens.
  2. Claude Desktop can also run the local package over stdio — use that when you want invoice files written to your Mac or PC.
Local package (claude_desktop_config.json)
{
  "mcpServers": {
    "codersera": {
      "command": "npx",
      "args": ["-y", "@coderseranpm/mcp"],
      "env": {
        "CODERSERA_MCP_API_KEY": "cw_live_..."
      }
    }
  }
}

Claude Code

API key
  1. Run one command. The server is added at user scope, so it is available in every project. Pass the key with -e so it is written into the server config — a shell prefix would only last for the add command itself.
Terminal
claude mcp add --scope user codersera \
  -e CODERSERA_MCP_API_KEY=cw_live_... \
  -- npx -y @coderseranpm/mcp

Codex CLI

API key
  1. Add it with the CLI, or point Codex at the hosted endpoint and let it read the key from your environment. --env writes the key into ~/.codex/config.toml; a shell prefix would not survive the add command.
Terminal
codex mcp add codersera \
  --env CODERSERA_MCP_API_KEY=cw_live_... \
  -- npx -y @coderseranpm/mcp
Hosted endpoint (~/.codex/config.toml)
[mcp_servers.codersera]
url = "https://codersera.com/api/mcp"
bearer_token_env_var = "CODERSERA_MCP_API_KEY"

Cursor & Windsurf

JSON + key
  1. Both read a user-level MCP config file. Add the same block and restart the editor.
mcp.json
{
  "mcpServers": {
    "codersera": {
      "command": "npx",
      "args": ["-y", "@coderseranpm/mcp"],
      "env": {
        "CODERSERA_MCP_API_KEY": "cw_live_..."
      }
    }
  }
}

Any other MCP client

Bearer key
  1. If the client speaks Streamable HTTP, give it the hosted URL and an Authorization header. That covers scripts, CI jobs, and clients with no browser to run OAuth in.
Request headers
POST https://codersera.com/api/mcp
Authorization: Bearer cw_live_...
Accept: application/json, text/event-stream

If npm is unavailable, the same local package is mirrored at https://codersera.com/mcp/codersera-mcp-0.3.0.tgz and runs via npx -y --package <url> codersera-mcp.

Tool catalog

What your agent can actually do

Every tool maps to a Codersera surface you can also open in a browser. Account-backed tools read and write inside the account that owns the token — never someone else's.

SEO & growth research

/tools/domain-rating-checker · /tools/directory-submission-list

The reason most people connect this server first: Domain Rating lookups at agent speed, plus the 400+ startup directory catalog with per-account submission progress.

check_domain_ratingAhrefs Domain Rating (0–100) for one domain or URL. URLs are normalized to a bare domain first.
bulk_check_domain_ratingUp to 100 domains or URLs in one call on the hosted server (10 on the local package). Duplicates are skipped.
list_startup_directoriesSearch Codersera's curated directory catalog by name, category, effort, or domain authority.
get_directory_submission_progressRead your saved progress across the catalog — what is submitted, live, or still untouched.
update_directory_submission_progressSet status, listing URL, and notes for one catalog entry as the agent works through the list.

IP & network metadata

/tools/ip-lookup

Triage a log line, a signup, or an abuse report without leaving the conversation.

lookup_ipCountry, region, city, coordinates, timezone, ASN, organisation, ISP, and hostname for one IPv4 or IPv6 address.
bulk_lookup_ipsThe same metadata for up to 10 addresses in a single call.

Invoicing

/tools/invoice-generator

Turn a timesheet or a Slack thread into a normalized invoice with correct totals, tax, discounts, withholding, and shipping.

create_invoiceBuild a normalized invoice from supplier, buyer, line items, tax, discount, and payment fields. Returns JSON, totals, and a formatted summary.
calculate_invoice_totalsRecompute line totals, tax breakdown, discounts, withholding, shipping, and amount due for an existing payload.
list_invoice_templatesTemplate ids the web generator accepts, each with a short description. Keyless on the local package only — the hosted endpoint authenticates every request.
list_supported_currenciesSupported currencies and their default locales. Keyless on the local package only — the hosted endpoint authenticates every request.
get_invoice_schemaA compact field guide the agent can read before it starts prompting you for missing fields. Keyless on the local package only — the hosted endpoint authenticates every request.

Notes & documents

/tools/note-taker · /tools/markdown-viewer

A durable place for the agent to put what it found — readable later in the browser, shareable as a public link.

create_browser_noteCreate a note from plain text or sanitized HTML.
list_browser_notesList recent notes, optionally filtered by title or excerpt.
read_browser_noteRead one note by id, as sanitized HTML and as plain text.
update_browser_noteUpdate a note title and/or body.
delete_browser_noteDelete one note by id.
share_browser_notePublish or unpublish a note and return its public codersera.com/n/… share URL.
render_markdownRender Markdown to HTML with the same parser as Markdown Viewer. Stores nothing.

Task & agent orchestration

/tools/todo-tracker · /tools/ai-agent-task-board

Where the compounding value is: the agent files its own follow-ups, and can queue work for other agents on your board.

list_tasksRead your Task Tracker, filtered by lane, project, or free text.
create_taskCreate a task in your Task Tracker.
update_taskUpdate a task you own — status, lane, project, impact/effort.
delete_taskPermanently delete a task you own.
list_agent_workstreamsRead your AI Agent Task Board workstreams and their task summaries.
create_agent_workstreamCreate a workstream column — one column per agent session.
create_agent_taskQueue a task with a full instruction body in a workstream.
update_agent_taskUpdate a queued agent task you own.

AI utilities

/tools/local-ai-model-picker

Two small tools that answer questions agents get asked constantly.

recommend_local_ai_modelsRanked picks from Codersera's local-AI catalog for your available memory, use case, and runtime.
generate_voiceAn MP3 voice clip from up to 2,000 characters. Metered — this one consumes a TTS request.

Local package only

@coderseranpm/mcp

A hosted server cannot write to your disk. Install the npm package when you want files on your machine.

write_invoice_htmlWrite a standalone printable .html invoice to local disk. Open it and Save as PDF.
write_invoice_pdfRender a real .pdf through a Chrome/Chromium/Edge/Brave you already have. Falls back to .html instead of failing when no browser is found.
write_invoice_jsonWrite the normalized invoice JSON to disk for accounting or CRM import.
Prompt recipes

Ask for the outcome, not the tool

Copy one of these into a client that has the server connected. Naming "Codersera MCP" in the first message helps the model reach for the right tool on the first try.

Audit a backlink prospect list

Using Codersera MCP, check Domain Rating for every domain in this list, drop anything under DR 30, and give me the survivors sorted highest to lowest with the DR next to each.

One call instead of 40 tab-opens. bulk_check_domain_rating takes up to 100 targets per request on the hosted server.

Work the directory submission list

Using Codersera MCP, show me every startup directory with DA above 50 that I have not submitted to yet, ranked by lowest effort first. Mark the top three as in progress.

list_startup_directories plus your own saved progress — the agent knows where you actually left off, not where a generic list starts.

Invoice from a timesheet

Using Codersera MCP, invoice Acme Inc. from Jane Doe LLC — INV-2026-0042, USD, Net 14, one line: "React performance audit", 12 hours at 95/hour, no VAT. Write the printable HTML to my Desktop.

create_invoice normalizes and totals it; write_invoice_html (local package) puts the file where you asked.

Triage suspicious traffic

Using Codersera MCP, look up these IPs from my access log, then tell me which ones are datacenter ASNs and which look residential.

bulk_lookup_ips returns ASN and organisation, which is the field that actually answers the question.

Close the loop on a meeting

Using Codersera MCP, save these notes to Browser Notes with the title "Launch checklist", publish it and give me the share link, then create tasks in my tracker for every action item you found.

Notes and Task Tracker in one turn — the agent files its own follow-ups instead of handing you a summary to re-type.

Fan work out to other agents

Using Codersera MCP, create a workstream called "Q3 SEO refresh" on my agent board and queue one task per page in this list, each with the brief as the instruction body.

The board is the handoff point: your Claude Code and Codex sessions pull their next task from the same columns.

Auth & privacy

What the agent is allowed to touch

Authorization Code with mandatory PKCE (S256) and RFC 8707 resource. Codes, access tokens, and refresh tokens are opaque and stored as SHA-256 hashes.

mcp:read

Read-only account data and utility calls — list your tasks, read a note, check DR, look up an IP.

mcp:write

Mutating account data and metered voice generation — create tasks, update notes, queue agent work.

offline_access

Requests a refresh token so the client keeps working without sending you back through sign-in every hour.

  • Access tokens last one hour. Refresh tokens last 30 days and rotate on every use; reusing an old one revokes the whole family.
  • User identity comes from the token. No account-backed tool accepts a user id as an argument, so a prompt cannot steer a tool at another account.
  • Only what you ask about leaves your machine. DR and IP tools send the domains and addresses in the call; invoice maths in the local package never leaves your computer.
  • No files without an explicit call. The local package writes only when you call a write_invoice_* tool, and never overwrites an existing file unless you pass overwrite: true.
  • Revocation is one click. Regenerate the key to cut off every client using it; OAuth grants are revoked through the revocation endpoint.
Troubleshooting

When the connection does not take

The client says 401 Unauthorized

That is the correct first response — the server answers an unauthenticated call with a WWW-Authenticate challenge pointing at its discovery document, and the client is supposed to follow it into OAuth. If your client stops there, it is not OAuth-capable: give it a cw_live_… Bearer key instead.

I clicked Allow and nothing happened

Restart connection setup in the client rather than resubmitting the consent page. Each consent request is single-use, so a second submit of the same page returns invalid_request by design.

The write_invoice_* tools are missing

You are on the hosted endpoint. Those three tools exist only in the local package, because a remote server cannot write to your disk. Add @coderseranpm/mcp alongside the hosted connection — running both is fine.

write_invoice_pdf returned HTML instead

No local Chrome, Chromium, Edge, or Brave was found, so it degraded gracefully rather than failing. Open the HTML and Save as PDF, or set PUPPETEER_EXECUTABLE_PATH to your browser binary and retry.

Tools are listed but every call errors

The key is checked lazily on the first value-producing call, so an unverified or revoked key shows up as a clear error from the tool rather than an empty tool list. Regenerate the key and update the client config.

npm is blocked on my machine

Use the mirrored tarball: npx -y --package https://codersera.com/mcp/codersera-mcp-0.3.0.tgz codersera-mcp, with the same CODERSERA_MCP_API_KEY environment variable.

FAQ

Frequently asked questions

What is MCP, in one sentence?

The Model Context Protocol is an open standard that lets an AI client discover and call tools on a server, so any MCP-capable assistant can use Codersera's tools without a custom plugin per assistant.

Do I need an API key for ChatGPT?

No. ChatGPT and other browser-capable clients use OAuth — add the hosted URL, sign in to Codersera, approve once. API keys exist for headless clients that have no browser to complete a sign-in flow.

Where do I get a cw_live_… key?

Sign in to Codersera and open the MCP panel on the invoice generator page (/tools/invoice-generator#mcp). Generate a key, copy it once, and use it as CODERSERA_MCP_API_KEY. Regenerating the key immediately revokes the old one, so every client using it must be updated.

Hosted endpoint or local npm package — which one?

Hosted for everything except writing files. The hosted server exposes the full catalog (invoices, Domain Rating, IP, notes, tasks, directories, voice, model picker, Markdown) and needs no install. Use the local package when the agent has to write an invoice HTML, PDF, or JSON onto your own disk — a remote server cannot do that.

Can it see my whole Codersera account?

It sees what the scope allows. mcp:read covers read-only account data and utility calls; mcp:write covers mutating account data and metered voice generation; offline_access requests a refresh token. Every account-backed tool derives your user id from the verified token — a tool call cannot pass a user id as an argument to reach someone else's data.

Why do the tools show up before my key is verified?

Deliberately. The local package registers all tools immediately and checks the key lazily on the first value-producing call, so a bad key returns a clear error from the tool you called instead of silently hiding the whole server from your agent. The three read-only info tools (list_invoice_templates, list_supported_currencies, get_invoice_schema) skip that check entirely, so they answer with no key — but only in the local package. The hosted endpoint authenticates every request before it dispatches any tool, so those three need a key there like everything else.

Does Domain Rating cost me anything?

No. The DR tools call Codersera's Domain Rating API, which proxies Ahrefs' public Domain Rating endpoint. It is the same free data the web checker at /tools/domain-rating-checker uses — you are not billing an Ahrefs seat.

What happens to data I send through it?

Invoice maths runs locally in the package. Domain Rating and IP tools send only the domains or addresses you asked about. Notes, tasks, and agent-board tools read and write inside the Codersera account that owns the token. Nothing is written to your disk unless you call one of the three write_invoice_* tools.

How long do tokens last?

Access tokens expire after one hour. Refresh tokens expire after 30 days and rotate on every use — reusing an old refresh token revokes the whole family, which is the standard defence against a stolen token being replayed.

Is it free?

Yes, with a Codersera account. Voice generation is the one metered tool; everything else is free to call.