> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usehenry.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Developer Guide

> How to extend Henry with your own tools, run it on your own model account, pull your data out, and what security teams need to know.

Henry is built to be used from chat, not programmed against. Most teams never need this guide. It exists for the cases where you want to plug your own systems in, or need precise answers about how Henry handles your data.

<Note>
  Henry does not offer a general-purpose REST API with issued API keys today. The endpoints described here are specific and narrow: an MCP endpoint for coding agents in CI, and cookie-authenticated downloads for exports. If you need programmatic access to something else, email [support@usehenry.ai](mailto:support@usehenry.ai).
</Note>

## What you can do

<Columns cols={2}>
  <Card title="Custom MCP servers" icon="server" href="/developer-guide/custom-mcp-servers">
    Give Henry your internal tools by pointing it at any Streamable HTTP MCP server. OAuth, static header, or no auth.
  </Card>

  <Card title="Bring your own model key" icon="key" href="/developer-guide/bring-your-own-model-key">
    Enterprise workspaces can run Henry on their own Anthropic or OpenAI account.
  </Card>

  <Card title="Coding agent access" icon="github" href="/developer-guide/coding-agent">
    Let coding agents in your CI read your deployments and logs through Henry with a scoped, read-only token.
  </Card>

  <Card title="Permissions Henry requests" icon="list-check" href="/developer-guide/permissions-henry-requests">
    The exact Slack scopes and Microsoft Teams permissions, and why each one is there.
  </Card>

  <Card title="Exports" icon="file-export" href="/developer-guide/exports">
    Workspace archive layout, audit log CSV columns, and usage CSV grains.
  </Card>

  <Card title="Security architecture" icon="shield-halved" href="/developer-guide/security-architecture">
    Encryption, tenant isolation, prompt-injection posture, sandboxing, and retention windows.
  </Card>

  <Card title="Self-hosted" icon="building" href="/developer-guide/self-hosted">
    Running Henry in your own environment against your own models.
  </Card>
</Columns>

## Endpoints at a glance

| Endpoint                                                             | Auth                                       | Purpose                                               |
| -------------------------------------------------------------------- | ------------------------------------------ | ----------------------------------------------------- |
| `POST https://app.usehenry.ai/api/agent-mcp`                         | Bearer token from Settings → Team settings | MCP server for coding agents. Read-only.              |
| `GET https://app.usehenry.ai/api/agent-mcp/skills`                   | Same bearer token                          | Workspace skills for materializing into a CI sandbox. |
| `GET https://app.usehenry.ai/api/audit/export`                       | Signed-in admin, Enterprise                | Audit log CSV.                                        |
| `GET https://app.usehenry.ai/api/usage/export`                       | Signed-in admin                            | Usage CSV.                                            |
| `GET https://app.usehenry.ai/api/workspaces/{id}/exports/{exportId}` | Signed-in admin                            | Download a workspace archive.                         |

The one URL you may need to register on your side is the OAuth redirect for custom MCP servers: `https://app.usehenry.ai/api/integrations/custom-connectors/callback`.
