MCP Servers API

Register and manage MCP servers for proxying. Each server gets a unique slug used in the proxy URL.

Base URL

https://api.hookwatch.dev/v1/mcp/servers

The MCP Server Object

Json

Properties

FieldTypeDescription
idstringUUID identifier for the MCP server
user_idstringID of the user who created the server
team_idstringID of the team that owns the server
slugstringURL-safe identifier used in the proxy URL (/p/:slug)
namestringHuman-readable name for the MCP server
target_urlstringUpstream MCP server URL where requests are forwarded
is_activebooleanWhether the proxy is accepting requests for this server
created_atstringISO 8601 timestamp of creation
updated_atstringISO 8601 timestamp of last update

Create Server

Register a new MCP server. A unique slug is automatically generated and used to construct the proxy URL.

POST /v1/mcp/servers

Request Body

FieldTypeRequiredDescription
namestringYesDisplay name for the MCP server
target_urlstringYesURL of the upstream MCP server to proxy to

Example

curl

The response includes the generated slug. Your proxy URL will be https://mcp.hookwatch.dev/p/slug.

List Servers

Retrieve all MCP servers for the active team.

GET /v1/mcp/servers

Response

Json

Get Server

Retrieve a specific MCP server by ID.

GET /v1/mcp/servers/:id

Path Parameters

FieldTypeDescription
idstringThe MCP server UUID

Update Server

Update an MCP server's name, target URL, or active status.

PUT /v1/mcp/servers/:id

Request Body

FieldTypeDescription
namestringNew display name
target_urlstringNew upstream MCP server URL
is_activebooleanEnable or disable the proxy for this server

Example

curl

Disabling a server

Setting is_active to false will cause the proxy to return 404 for all incoming requests to this server's slug. Existing call logs are preserved.

Delete Server

Permanently delete an MCP server.

DELETE /v1/mcp/servers/:id

Example

curl

Warning

This action is irreversible. All call logs associated with this server will be permanently deleted.

Error Codes

StatusErrorDescription
400Bad RequestInvalid request body or missing required fields
401UnauthorizedInvalid or missing access token
403ForbiddenMCP server limit reached for your plan
404Not FoundMCP server not found

Related