
Hal
Turns any HTTP endpoint into an MCP tool, with built-in support for OpenAPI/Swagger specs that auto-generate the tooling for you. Handles GET, POST, PUT, PATCH, DELETE, and HEAD requests. The secret management system is well thought out: define credentials as environment variables, reference them with template syntax like {secrets.api_key}, and HAL substitutes them at request time while automatically redacting any leaked values from responses. You can namespace secrets and restrict them to specific URL patterns, so your Azure keys only work with Azure domains. Load OpenAPI specs from local files or URLs, point it at your base URL, and you're making authenticated API calls through Claude without exposing tokens in the conversation.
- GitHub stars
- 38
- tools
- 3
- transport
- STDIO
- last updated
- Sep 9, 2025
Tools
3 toolsPublic tool metadata for what this MCP can expose to an agent.
list-secretsGet a list of available secret keys that can be used with `{secrets.key}` syntax.
Get a list of available secret keys that can be used with `{secrets.key}` syntax.
No parameter schema in public metadata yet.
http-getMake HTTP GET requests to any URL.
Make HTTP GET requests to any URL.
No parameter schema in public metadata yet.
http-postMake HTTP POST requests with optional body and headers.
Make HTTP POST requests with optional body and headers.
No parameter schema in public metadata yet.
Sponsors
Readme
HAL (HTTP API Layer)
HAL is a Model Context Protocol (MCP) server that provides HTTP API capabilities to Large Language Models. It allows LLMs to make HTTP requests and interact with web APIs through a secure, controlled interface. HAL can also automatically generate tools from OpenAPI/Swagger specifications for seamless API integration.
Documentation
Visit our comprehensive documentation site for detailed guides, examples, and API reference.
Features
- HTTP GET/POST/PUT/PATCH/DELETE/OPTIONS/HEAD Requests: Fetch and send data to any HTTP endpoint
- Secure Secret Management: Environment-based secrets with
{secrets.key}substitution and automatic redaction - Swagger/OpenAPI Integration: Automatically generate tools from API specifications
- Built-in Documentation: Self-documenting API reference
- Secure: Runs in isolated environment with controlled access
- Fast: Built with TypeScript and optimized for performance
Usage
Details
- Repository
- github.com/deanward/hal
- Package
hal-mcp- Transport
- STDIO
- Registry
- MCP registry, active