Turn a cURL command into an MCP tool
Paste the request you already run in your terminal. GetMCP reads the method, URL, headers and body, turns the variable parts into parameters, pulls the credentials out, and gives Claude, ChatGPT or Cursor a tool that makes the same call.
The quickest way from an endpoint to a tool
Most API docs and browser developer tools hand you a cURL command. That command already holds everything a tool needs, so GetMCP starts there instead of asking you to describe the endpoint field by field.
- Open a server, choose Import, then cURL, and paste
- Check the inferred name, description and parameters, and edit anything
- The tool is saved as a draft; test it, then switch it on
Changed the request later? Re-import from cURL on the same tool. The new command is merged in and your descriptions and defaults are kept.
# What you paste curl -X POST 'https://api.mysaas.com/v1/projects/{project_id}/tasks' \ -H 'Authorization: Bearer sk_live_…' \ -H 'Content-Type: application/json' \ -d '{"title": "Design review", "due_date": "2026-05-02"}' # The MCP tool your AI client sees create_task project_id string required path title string body due_date string body # Bearer token: moved to the server's auth, never a parameter
What GetMCP reads from the command
The parser understands the flags people actually use, and it tells you about the ones it will not carry over instead of dropping them silently.
| In the command | In the MCP tool |
|---|---|
| -X, --request | The HTTP method. Sending data without -X makes it a POST, as cURL does |
| {id}, :id or {{id}} in the path | A required path parameter |
| Query string keys | Query parameters, removed from the stored URL |
| -d, --data, --data-raw, --data-binary, --data-urlencode | Body parameters from the JSON or form fields, nested objects included. Your values become examples, never fixed defaults |
| -H, --header | Headers sent with every call |
| Authorization: Bearer, --oauth2-bearer | Detected as bearer auth and kept out of the tool |
| -u, Authorization: Basic | Detected as basic auth and kept out of the tool |
| x-api-key, api_key= and similar | Detected as an API key, in a header or the query string |
| -G, -k, -L, -m, bundled switches like -sSL | Understood, so a command copied from docs pastes cleanly |
Your API key stays on your server
A pasted command usually carries a real token. GetMCP treats it as a secret, not as data.
Never a tool parameter
Credentials found in headers, -u or the query string are taken out of the request, so the AI client never sees them and never has to supply them.
Set once, on the server
Auth lives on the MCP server, not on each tool: API key, bearer or basic on every plan, OAuth on Pro and above. Every tool on the server uses it.
Honest about what it skips
Multipart forms (-F), file uploads (-T), cookies, proxies, client certificates and bodies read from @file are flagged with a warning when you paste.
Have the whole API described already?
A cURL command makes one tool. A specification makes one tool per operation, and you pick which ones to keep.
Questions about cURL import
Is cURL import on the free plan?
Yes. cURL import is on every plan, including free Solo, which allows one server with up to 10 tools. OpenAPI, Swagger and Postman import come with Pro and above.
Does GetMCP save the token from my command?
It is never saved as part of the tool. The token is detected and shown masked so you know what was found; you set the server's auth yourself, once, and it is stored encrypted on your install.
Can one command make more than one tool?
No. One command becomes one tool, which keeps every tool easy to read and test. Paste another command for the next endpoint, or import a specification to get many at once.
What happens to the values in my request body?
They become examples on the parameters, so the AI client sees what a good value looks like. They are not sent as defaults unless you set a default yourself.
Your next tool is one paste away.
Install GetMCP on your own server, paste a cURL command, and ask Claude to use it.