# HAL (HTTP API Layer)
> Transforms OpenAPI/Swagger specifications into dynamic HTTP tools with secret management and URL restrictions, enabling secure API integration through automatic tool generation from API documentation.
Canonical: https://www.mcpfolio.com/servers/hal-http-api-layer
Last updated: 2026-10-28
## Catalog record

- Publisher: deanward
- Categories: development

## Repository

https://github.com/deanward/hal

## Transports

stdio

## Authentication

No credentials were configured; the tested read-only tool “http-get” succeeded in an isolated environment. Other tools may have additional requirements.

## Tools

- **http-get**: Make 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-post**: Make 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-put**: Make 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-patch**: Make 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-delete**: Make 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-head**: Make 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-options**: Make 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-secrets**: Get a list of available secret keys that can be used with {secrets.key} syntax. Only shows the key names, never the actual secret values.

## Sources

- [MCP.Directory public profile](https://mcp.directory/servers/hal-http-api-layer)
- [Linked publisher repository](https://github.com/deanward/hal)
- [npm registry metadata](https://registry.npmjs.org/hal-mcp)
- [maintainer_or_vendor_reference](https://github.com/deanward/hal)

## Setup

Use the interactive setup panel on [the detail page](https://www.mcpfolio.com/servers/hal-http-api-layer) to view instructions for each supported client.