Gives LLMs HTTP request capabilities and generates tools automatically from OpenAPI/Swagger specifications.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add hal-http-api-layer --env HAL_API_BASE_URL='<HAL_API_BASE_URL>' --env HAL_SECRET_API_KEY='<HAL_SECRET_API_KEY>' --env HAL_SECRET_PASSWORD='<HAL_SECRET_PASSWORD>' --env HAL_SECRET_USERNAME='<HAL_SECRET_USERNAME>' --env HAL_SWAGGER_FILE='<HAL_SWAGGER_FILE>' -- npx -y hal-mcp~/.codex/config.toml
[mcp_servers.hal-http-api-layer]
command = "npx"
args = ["-y", "hal-mcp"]
env = { HAL_API_BASE_URL = "<HAL_API_BASE_URL>", HAL_SECRET_API_KEY = "<HAL_SECRET_API_KEY>", HAL_SECRET_PASSWORD = "<HAL_SECRET_PASSWORD>", HAL_SECRET_USERNAME = "<HAL_SECRET_USERNAME>", HAL_SWAGGER_FILE = "<HAL_SWAGGER_FILE>" }
# codex mcp add hal-http-api-layer --env HAL_API_BASE_URL='<HAL_API_BASE_URL>' --env HAL_SECRET_API_KEY='<HAL_SECRET_API_KEY>' --env HAL_SECRET_PASSWORD='<HAL_SECRET_PASSWORD>' --env HAL_SECRET_USERNAME='<HAL_SECRET_USERNAME>' --env HAL_SWAGGER_FILE='<HAL_SWAGGER_FILE>' -- npx -y hal-mcp~/.cursor/mcp.json
{
"mcpServers": {
"hal-http-api-layer": {
"command": "npx",
"args": [
"-y",
"hal-mcp"
],
"env": {
"HAL_API_BASE_URL": "<HAL_API_BASE_URL>",
"HAL_SECRET_API_KEY": "<HAL_SECRET_API_KEY>",
"HAL_SECRET_PASSWORD": "<HAL_SECRET_PASSWORD>",
"HAL_SECRET_USERNAME": "<HAL_SECRET_USERNAME>",
"HAL_SWAGGER_FILE": "<HAL_SWAGGER_FILE>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"hal-http-api-layer": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"hal-mcp"
],
"env": {
"HAL_API_BASE_URL": "<HAL_API_BASE_URL>",
"HAL_SECRET_API_KEY": "<HAL_SECRET_API_KEY>",
"HAL_SECRET_PASSWORD": "<HAL_SECRET_PASSWORD>",
"HAL_SECRET_USERNAME": "<HAL_SECRET_USERNAME>",
"HAL_SWAGGER_FILE": "<HAL_SWAGGER_FILE>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"hal-http-api-layer": {
"command": "npx",
"args": [
"-y",
"hal-mcp"
],
"env": {
"HAL_API_BASE_URL": "<HAL_API_BASE_URL>",
"HAL_SECRET_API_KEY": "<HAL_SECRET_API_KEY>",
"HAL_SECRET_PASSWORD": "<HAL_SECRET_PASSWORD>",
"HAL_SECRET_USERNAME": "<HAL_SECRET_USERNAME>",
"HAL_SWAGGER_FILE": "<HAL_SWAGGER_FILE>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"hal-http-api-layer": {
"command": "npx",
"args": [
"-y",
"hal-mcp"
],
"env": {
"HAL_API_BASE_URL": "<HAL_API_BASE_URL>",
"HAL_SECRET_API_KEY": "<HAL_SECRET_API_KEY>",
"HAL_SECRET_PASSWORD": "<HAL_SECRET_PASSWORD>",
"HAL_SECRET_USERNAME": "<HAL_SECRET_USERNAME>",
"HAL_SWAGGER_FILE": "<HAL_SWAGGER_FILE>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"hal-http-api-layer": {
"command": "npx",
"args": [
"-y",
"hal-mcp"
],
"env": {
"HAL_API_BASE_URL": "<HAL_API_BASE_URL>",
"HAL_SECRET_API_KEY": "<HAL_SECRET_API_KEY>",
"HAL_SECRET_PASSWORD": "<HAL_SECRET_PASSWORD>",
"HAL_SECRET_USERNAME": "<HAL_SECRET_USERNAME>",
"HAL_SWAGGER_FILE": "<HAL_SWAGGER_FILE>"
}
}
}
}Environment variables
HAL_API_BASE_URLHAL_SECRET_API_KEYHAL_SECRET_PASSWORDHAL_SECRET_USERNAMEHAL_SWAGGER_FILE
Replace the placeholders with your own credentials and keep them out of version control.