Use credited from your editor
credited is an MCP server: Streamable HTTP JSON-RPC at https://credited.dev/mcp, authorised with OAuth 2.1 and dynamic client registration, so there is no token to paste. Connect it once and your coding agent can add a project, get the tag, paste it in the right place and run the check, without you opening this site again.
Claude Code
claude mcp add --transport http credited https://credited.dev/mcp
The first call opens a browser tab where you sign in with GitHub and press Authorize. That's the only time you see this site.
Cursor
In ~/.cursor/mcp.json, or .cursor/mcp.json for one project:
{
"mcpServers": {
"credited": {
"url": "https://credited.dev/mcp"
}
}
}
Any other client
Anything that speaks MCP over Streamable HTTP and does OAuth for remote servers works. Most clients read this shape:
{
"mcpServers": {
"credited": {
"type": "http",
"url": "https://credited.dev/mcp"
}
}
}
Tools
Every tool answers in plain text and acts only on the calling account: other people's projects do not exist as far as it is concerned. This table is generated from the server, so it is exactly what your client will list.
| Tool | Arguments | What it does and returns |
|---|---|---|
| list-projects | — | List the caller's projects with status, verification dates, last check result, token and public URL. |
| create-project |
name (string, required)
url (string, required)
visibility (public|private)
category (string)
role (built|worked)
description (string)
|
Register a site the caller built. Returns the token, the tag to paste into <head>, the /.well-known alternative, and where to put it per framework. Queues a first check. |
| update-project |
id (integer, required)
name (string)
visibility (public|private)
category (string)
role (built|worked)
description (string)
featured (boolean)
move (up|down)
retake_screenshot (boolean)
|
Rename a project, change its visibility, category or description, feature it on the profile (up to 3 featured projects, shown first), or move it up/down within its verification-order year. The URL cannot change; create a new project for a new site. |
| delete-project |
id (integer, required)
|
Delete a project and its whole check history. Irreversible; confirm with the user first. |
| check-project |
id (integer, required)
|
Check the site right now and return the result. Call it after deploying the tag. Limited to 5 checks per project per hour. |
| project-history |
id (integer, required)
|
Every check for a project, newest first, including failures: not found, HTTP status, blocked by robots.txt, connection errors. Use it to debug a project that will not verify. |
| add-update |
id (integer, required)
body (string, required)
|
Post a one-line update on a shipped change: "Checkout rewritten in Livewire", "Moved to Cloudflare". Shown on the project's public page and, as the latest one, under its card on the profile when featured. No editing, delete only, from the dashboard. Limited to 5 per project per day. |
| profile | — | The caller's public profile URL, handle and project counts. |
| set-handle |
handle (string, required)
|
Change the profile handle (credited.dev/<handle>). Allowed once per account; lowercase letters, digits and dashes, 2 to 39 characters. |
| set-readme |
enabled (boolean, required)
|
Show or hide the caller's GitHub profile README (the <login>/<login> repo) on their credited profile, under the projects. Raw HTML in the README is stripped; Markdown images and badges render. |
| set-availability |
availability (freelance|employment|any)
|
Set or clear the caller's availability on their credited profile: freelance (open to freelance work), employment (open to a new role), any (both), or null to clear it. |
| set-contact |
contact_url (string|null)
booking_url (string|null)
|
Set or clear the "Get in touch" and "Book a call" links on the caller's credited profile. contact_url is a mailto: address or an https URL; booking_url (Cal.com, Calendly, any URL) is https only. Omit an argument to leave it unchanged, send null to clear it. |
A worked example
"I just finished acme.com for a client, credit me." is this sequence of calls:
create-project name: "Acme Shop", url: "acme.com", description: "Two sentences about the site and what you did."
-> id 12, token cr_..., the <meta> tag and where it goes for your framework
# the agent pastes the tag into your layout's <head>, you deploy
check-project id: 12
-> Result: tag found. Status is now verified (verified since October 2026).
project-history id: 12 # only when it does not verify: robots.txt, HTTP status, redirects
profile -> your public URL, credited.to/<handle>
Safety
Project names, descriptions and READMEs are user content: they are stored and shown as text, and nothing on this server ever asks your agent to run a command, install anything or fetch a URL. The only thing you are asked to change is the one <meta> tag you paste into your own site.
Agents: also read /llms.txt, and /bot for what the crawler fetches.