A side-by-side look at the Echo MCP and HAL MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose Echo MCP for developer tools work over a hosted endpoint; choose HAL for developer tools as a local process. You can also run both side by side in one mcpServers block.
HAL_SWAGGER_FILE, HAL_API_BASE_URL, HAL_SECRET_API_KEY, HAL_WHITELIST_URLS, HAL_BLACKLIST_URLS, HAL_ALLOW_MICROSOFT.http-get, http-post, http-put.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Developer Tools | Developer Tools |
| Quality signal | 37/100 · Fair | 61/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Remote HTTP/SSE | Local subprocess (stdio) |
| Auth | No auth required | No auth required |
| Pricing | Free | Free |
| Required env vars | None listed | HAL_SWAGGER_FILEHAL_API_BASE_URLHAL_SECRET_API_KEYHAL_WHITELIST_URLSHAL_BLACKLIST_URLSHAL_ALLOW_MICROSOFT |
| Verified owner | Community listing | Community listing |
| GitHub stars | 11 | 38 |
| Directory activity | 3 views 0 installs 0 upvotes | 2 views 0 installs 0 upvotes |
| Tools | Not listed | 8 |
| Full listing | View Echo MCP | View HAL |
No tool names declared yet. Check the project README from the listing page.
http-getMake an HTTP GET request to a specified URL. Supports secret substitution using {secrets.key} syntax where 'key' corresponds to HAL_SECRET_KEY environment variables.http-postMake an HTTP POST request to a specified URL with optional body and headers. Supports secret substitution using {secrets.key} syntax in URL, headers, and body where 'key' corresponds to HAL_SECRET_KEY environment variables.http-putMake an HTTP PUT request to a specified URL with optional body and headers. Supports secret substitution using {secrets.key} syntax in URL, headers, and body where 'key' corresponds to HAL_SECRET_KEY environment variables.http-patchMake an HTTP PATCH request to a specified URL with optional body and headers. Supports secret substitution using {secrets.key} syntax in URL, headers, and body where 'key' corresponds to HAL_SECRET_KEY environment variables.http-deleteMake an HTTP DELETE request to a specified URL with optional headers. Supports secret substitution using {secrets.key} syntax in URL and headers where 'key' corresponds to HAL_SECRET_KEY environment variables.http-headMake an HTTP HEAD request to a specified URL with optional headers (returns only headers, no body). Supports secret substitution using {secrets.key} syntax in URL and headers where 'key' corresponds to HAL_SECRET_KEY environment variables.http-optionsMake an HTTP OPTIONS request to a specified URL to check available methods and headers. Supports secret substitution using {secrets.key} syntax in URL and headers where 'key' corresponds to HAL_SECRET_KEY environment variables.list-secretsGet a list of available secret keys that can be used with {secrets.key} syntax. Only shows the key names, never the actual secret values.Paste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"brunokrugel-echo-mcp": {
"url": "http://localhost:8080/mcp"
}
}
}
{
"mcpServers": {
"hal": {
"command": "npx",
"args": [
"-y",
"hal-mcp"
],
"env": {
"HAL_SWAGGER_FILE": "YOUR_HAL_SWAGGER_FILE_HERE",
"HAL_API_BASE_URL": "YOUR_HAL_API_BASE_URL_HERE",
"HAL_SECRET_API_KEY": "YOUR_HAL_SECRET_API_KEY_HERE",
"HAL_WHITELIST_URLS": "YOUR_HAL_WHITELIST_URLS_HERE",
"HAL_BLACKLIST_URLS": "YOUR_HAL_BLACKLIST_URLS_HERE",
"HAL_ALLOW_MICROSOFT": "YOUR_HAL_ALLOW_MICROSOFT_HERE"
}
}
}
}