mcp-server-bridge-restish
If you are the rightful owner of mcp-server-bridge-restish and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcpreview.com.
Bridge Restish is an experimental Model Context Protocol (MCP) server designed to facilitate communication between language models and various applications.
Bridge Restish - MCP Server
Overview
This MCP server acts as a bridge to make your custom HTTP API server accessible to LLMs. It fetches tool definitions from your HTTP API server and dynamically registers them as MCP tools that LLMs can call.
How it works
- Fetch tool definitions: Retrieves available tool definitions from
${BASE_URL}/tools
endpoint - Register MCP tools: Dynamically registers MCP tools based on the fetched tool definitions
- Proxy API calls: When LLM calls a tool, it forwards the request to the corresponding HTTP API endpoint
HTTP API Server Requirements
Description
Your HTTP API server should implement the following specification:
Run a example server for illustration purposes.
git clone https://github.com/high-u/mcp-server-bridge-restish.git
cd mcp-server-bridge-restish
node example/server.js 3000
Tool Definition Endpoint
GET ${BASE_URL}/tools
should return an array of tool definitions:
curl http://localhost:3000/tools
Example response:
[
{
"name": "get_time",
"description": "Get current date and time",
"schema": {
"type": "object",
"properties": {},
"required": []
},
"endpoint": "/get_time",
"method": "get"
},
{
"name": "get_birthday",
"description": "Get a birthday for a given name",
"schema": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name to get birthday for"
}
},
"required": [
"name"
]
},
"endpoint": "/get_birthday",
"method": "get"
}
]
Tool Execution Endpoints
Each tool is executed via its specified endpoint and method:
GET ${BASE_URL}/get_time
→ Returns current time as JSON
curl http://localhost:3000/get_time
{
"time": "2025-06-22T03:53:49.675Z",
"timestamp": 1750564429675
}
GET ${BASE_URL}/get_birthday?name=XXX
→ Returns birthday for XXX as JSON
curl "http://localhost:3000/get_birthday?name=John"
{
"name": "John",
"birthday": "1973-11-08"
}
The response schema is up to you. It is up to the LLM how you use it.
Usage
Configure Claude Desktop
Add the following to your claude_desktop_config.json
:
{
"mcpServers": {
"bridge-restish": {
"command": "mcp-server-bridge-restish",
"args": ["http://localhost:3000", "server-api-key"],
"env": {
"BASE_URL": "http://localhost:3000",
"AUTH_TYPE": "Bearer",
"API_KEY": "server-api-key"
}
}
}
}
“BASE_URL” is required. Set “API_KEY” and “AUTH_TYPE” as needed.
Example User Prompt
What time is it?
How old is John this year?