I will build an mcp server for claude with oauth


About this gig
You need Claude (or another MCP client) to call your own API, and the connection has to keep working outside your laptop.
I build remote MCP servers on Cloudflare Workers: Streamable HTTP transport, bearer or API-key auth backed by D1, tools that wrap your existing HTTP endpoints, and a deployed URL you paste into the client config.
A 3-4 tool server usually takes 2-4 days; I write the tool schemas and the error paths so the model stops guessing argument shapes.
Basic: one remote MCP server, up to 4 tools, Bearer or API-key auth, deployed on Cloudflare Workers, with the endpoint URL and a client config sample.
Standard: adds D1 or KV storage for keys and quotas, error handling and retries, and tool schema docs.
Premium: adds multi-tenant key isolation, logging and rate limits, 7 days of post-launch support and 2 remote debugging sessions.
Server side only: transport, auth, tool schemas, deployment. I have not shipped OAuth 2.1 with dynamic client registration - if you need it, it is a separate scope and a separate quote.
You send your API docs, the target client and who may call it. I reply with a tool list and a fixed scope before the order starts.
Get to know Gowinder
nestjs, jsredis, postgres, rabbitmq, microservices, python, golang
- FromChina
- Member sinceAug 2024
Languages
English, Chinese
My Portfolio
FAQ
What exactly do I get: transport, auth, tool schemas, deployment?
A remote MCP server on Cloudflare Workers: Streamable HTTP transport, bearer or API-key auth checked against D1, one tool per endpoint you approve, a deployed URL, and a client config snippet you paste into Claude Desktop or Claude Code. Worker source and a README ship with every package.
My system is not a public HTTP API. It is a database or an internal service. Can you still do it?
Yes, if something in front of it can make an outbound call: the Worker itself, a small shim, or your existing gateway. I write the tool layer on that call path. If the only route in is a VPN or private network, we scope a tunnel or proxy first and I quote it separately.
Which MCP clients does this work with?
Claude Desktop and Claude Code are what I test by hand. Any client that speaks Streamable HTTP with a bearer header should connect: Cursor, ChatGPT connectors, or your own agent. I include the config sample and tell you which client I actually verified, instead of claiming I tested all of them.
How does authentication work, and where do my keys live?
You keep your upstream API keys. I store hashed caller keys in D1 (or KV on the lighter package), check the bearer token on every request, and reject unknown keys before any tool runs. On the multi-tenant package each tenant gets its own key row, so one caller cannot read another's data.
How many tools are included, and what if I need more?
Basic covers up to 4 tools; Standard and Premium cover more. One extra endpoint is a fixed add-on: send me the endpoint, one sample request and one sample response, and it usually lands inside the same delivery window when you send it before I start.
What do you hand over at the end?
The live URL, the client config block, a tool list with input schemas and error behaviour, the Worker source, and a README for rotating a key and redeploying. If you want it deployed in your own Cloudflare account instead of mine, say so before the order starts.
Do I have to change my existing HTTP API?
No. The tools call your API the way any client does: same paths, same payloads, same auth. Tool schemas and error mapping live on my side. If an endpoint returns something the model cannot use, I tell you which field to flatten rather than editing your service.
Will you touch my production environment or data?
Only through tools you explicitly approve. Anything that writes, deletes or spends money is off by default and I ask before enabling it. I work against a staging endpoint when you have one. Your Cloudflare account stays yours: the order adds a Worker, not access to the rest.
How long until it is live, and what do you need from me?
A 3-4 tool server is usually 2-4 days once I have your API docs, the target client, and a staging key. Answering the checkout questions up front keeps day one for building instead of questions. Every package ends with the server deployed, not just code handed over.
Can you add OAuth 2.1 with dynamic client registration?
Not inside these packages. What I ship is bearer or API-key auth backed by D1. OAuth 2.1 with dynamic client registration is a separate scope with its own quote, and I give you that number before you order rather than after.
