configure_rest_clientLABSCO SUMMARY
An API you have no client for.
Between the Swagger document and a generic request call, an internal service becomes usable in a session without anyone writing an integration first: find the endpoint, read what it takes, call it.
What it is
A general REST client. You configure it once with a base URL and credentials, optionally give it a Swagger or OpenAPI URL, and then call GET, POST, PUT, DELETE and PATCH against that API. Token refresh and retries are handled inside.
What you get
- One API configured with its base URL, a timeout and a retry count
- Either a bearer token, or a username and password posted to a login endpoint, with re-authentication handled for you
- Any HTTP method called against a path, with query parameters, a body and extra headers
- The endpoint list read out of the API's Swagger or OpenAPI document
- Endpoints searched by keyword, and one read in detail before you call it
Requirements
Node to build and run it, plus whatever the API you point it at needs — a token, or a username and password with the login path and the field the token comes back in.
Setup effort
Build from source
USE CASES
Trying an internal API you have never called
Configure the base URL and credentials once, read the endpoint list out of its Swagger document, and make the first call from what you just read.
Finding the right endpoint out of hundreds
Search the specification by keyword, then read the one endpoint in detail — parameters and all — rather than scrolling the whole document.
Working against an API that logs you in rather than issuing a key
Username and password go to the login endpoint you name; the token is picked out of the field you name and refreshed when it expires.
Making a change, not just a read
Check what the endpoint expects before sending, then POST, PUT, PATCH or DELETE with the body shaped the way the specification says.
7 tools
Listed in project docs. Your client may show a different list.
http_requestget_swagger_documentationsearch_endpointsget_endpoint_infocheck_authenticationlogoutBEFORE YOU INSTALL
What to know first
Tools you get
7 tools named in the project's documentation.
Requires
MCP_REST_TOKEN for token auth, or MCP_REST_USERNAME and MCP_REST_PASSWORD for login auth
Where it runs
Both documented clients run the server on your machine.
INSTALLATION
Connect your client
You clone and build this one yourself.
Server setup
git clone https://github.com/gyuco/mcp-http-client
cd mcp-http-client
npm install
npm run buildMCP Clients
Cursor, Claude Desktop
{
"mcpServers": {
"mcp-rest-github": {
"command": "node",
"args": [
"<YOUR_PATH_TO_MCP_HTTP_CLIENT>/dist/index.js"
],
"env": {
"MCP_REST_BASE_URL": "https://api.github.com",
"MCP_REST_AUTH_TYPE": "token",
"MCP_REST_TOKEN": "<YOUR_MCP_REST_TOKEN>",
"MCP_REST_SWAGGER_URL": "https://raw.githubusercontent.com/github/rest-api-description/main/descriptions/api.github.com/api.github.com.json"
}
}
}
}The configuration on this page does not set MCP_REST_USERNAME or MCP_REST_PASSWORD, which are only for login auth. The README's environment-variable table has them go in the same env block, with MCP_REST_AUTH_TYPE set to login and MCP_REST_LOGIN_ENDPOINT set to the API's login path.