Skip to main content
Glama

CI Crates.io License: Apache-2.0

HTTP GraphQL gRPC Bash SQL   macOS Linux Windows

Earl sits between agents and external services. Operations are HCL files committed to your repository. The LLM sees a tool name and description; it never reads the template body. An injected instruction in an API response has nowhere to land because the LLM isn't reading the part of the request that executes.

Secrets stay in the OS keychain. They aren't in tool arguments, tool descriptions, or output.

→ Documentation

Quick start

# Install
curl -fsSL https://raw.githubusercontent.com/mathematic-inc/earl/main/scripts/install.sh | bash

# Import a provider template
earl templates import https://raw.githubusercontent.com/mathematic-inc/earl/main/examples/3p/github.hcl

# Store a secret — prompts for the value, not echoed
earl secrets set github.token

# Call a command
earl call --yes --json github.search_repos --query "language:rust stars:>100"

To use Earl as MCP tools in your agent, add it to your MCP config and restart. Claude Code and Cursor use the same format:

{
  "mcpServers": {
    "earl": {
      "command": "earl",
      "args": ["mcp", "stdio"]
    }
  }
}

MCP tools don't activate until after restart. In the current session, use earl call --yes --json through the Bash tool.

See Quick Start for the full walkthrough, or Agent-Assisted Setup to let an agent handle the install and configuration.

Related MCP server: AI Service Gateway MCP

How it works

You write an HCL template describing an operation: method, URL, auth, parameters. When an agent calls the tool, Earl loads the template, reads the required secret from the OS keychain, renders the Jinja expressions against the agent's supplied values, and executes the request. The LLM only ever provided parameter values. Every other part of the request — the URL, the auth header, the method — was written by a human and committed to the repo.

See How Earl Works for the full security model.

Documentation

Contributing

Start with a Discussion, not a pull request. A Mathematic maintainer will review the proposal. If we decide to implement it, a maintainer or one of our AI agents will open the pull request. GitHub restricts pull request creation to Mathematic maintainers and repository collaborators with write, maintain, or admin access, plus authorized maintenance agents.

When Mathematic implements a proposal, the implementation pull request will link to the Discussion and credit the proposal's original author.

See CONTRIBUTING.md for the full policy.

License

Apache-2.0

This project is free and open-source work by a 501(c)(3) non-profit. If you find it useful, please consider donating.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    A
    maintenance
    Credential isolation proxy for AI agents. Injects API keys at the network boundary so your agent never sees the raw credential. Supports domain allowlists, agent auth, policy enforcement, and audit logging.
    3
    113 npm
    13
    Apache 2.0
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to securely access authenticated services (HTTP, SSH, SMTP) without exposing secrets, by acting as a server-side proxy that injects authentication.
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Bounded egress gateway & secret proxy for AI agents and applications, enabling safe credential injection into upstream requests while keeping raw secrets out of LLM prompt contexts.
    3 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    Enables AI agents to make authenticated API calls and run commands with secrets injected, while keeping credentials completely hidden from the model, with policy enforcement, grants, and audit logging.
    2
    6
    MIT