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.
https://codersera.com/api/mcpCodersera 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.
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.
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.
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.
"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.
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.
https://codersera.com/api/mcp
cw_live_… Bearer key for headless clientsnpx -y @coderseranpm/mcp
write_invoice_html, write_invoice_pdf, write_invoice_jsoncw_live_… key in CODERSERA_MCP_API_KEYSign 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.
Six paths, same server. Pick the row that matches what you actually use.
ChatGPT is browser-capable, so OAuth is the right path. You never paste a key.
{
"mcpServers": {
"codersera": {
"command": "npx",
"args": ["-y", "@coderseranpm/mcp"],
"env": {
"CODERSERA_MCP_API_KEY": "cw_live_..."
}
}
}
}claude mcp add --scope user codersera \ -e CODERSERA_MCP_API_KEY=cw_live_... \ -- npx -y @coderseranpm/mcp
codex mcp add codersera \ --env CODERSERA_MCP_API_KEY=cw_live_... \ -- npx -y @coderseranpm/mcp
[mcp_servers.codersera] url = "https://codersera.com/api/mcp" bearer_token_env_var = "CODERSERA_MCP_API_KEY"
{
"mcpServers": {
"codersera": {
"command": "npx",
"args": ["-y", "@coderseranpm/mcp"],
"env": {
"CODERSERA_MCP_API_KEY": "cw_live_..."
}
}
}
}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.
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.
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.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.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.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.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.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.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.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.
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.
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.
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.
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.
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.
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.
Authorization Code with mandatory PKCE (S256) and RFC 8707 resource. Codes, access tokens, and refresh tokens are opaque and stored as SHA-256 hashes.
Read-only account data and utility calls — list your tasks, read a note, check DR, look up an IP.
Mutating account data and metered voice generation — create tasks, update notes, queue agent work.
Requests a refresh token so the client keeps working without sending you back through sign-in every hour.
write_invoice_* tool, and never overwrites an existing file unless you pass overwrite: true.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.
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.
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.
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.
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.
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.
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.
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.
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 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.
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.
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.
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.
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.
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.
Yes, with a Codersera account. Voice generation is the one metered tool; everything else is free to call.