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

# AI Governance

> Discover, approve, and monitor the MCP servers, skills, and AI tools your organization uses

export const G = ({term, anchor, children}) => {
  const href = anchor ? `/docs/glossary/index#${anchor}` : `/docs/glossary/index`;
  return <a href={href} className="glossary-link" style={{
    textDecoration: "underline",
    textDecorationLine: "underline",
    textDecorationColor: "#6b7280",
    textDecorationThickness: "1px",
    textUnderlineOffset: "2px",
    color: "inherit",
    transition: "text-decoration-color 0.2s ease",
    borderBottom: "none"
  }} onMouseEnter={e => e.target.style.textDecorationColor = "#fff"} onMouseLeave={e => e.target.style.textDecorationColor = "#6b7280"}>
  {children || term}
</a>;
};

## Overview

Formal governs how people and AI agents use MCP servers, skills, and LLM providers. The **AI Tools** section of the <G anchor="control-plane">Control Plane</G> groups these pages:

| Page | Use it to |
| - | - |
| [Catalog](https://app.formal.ai/catalog) | Keep the approved MCP servers and skills, and choose who can use each one |
| [Shadow AI](/docs/guides/ai-governance/shadow-ai) | Review MCP servers and skills that people use but that aren't in the Catalog |
| [Access Requests](/docs/guides/ai-governance/access-requests) | Approve or reject employee requests for MCP servers and policy exceptions |
| [Guardrails](/docs/guides/ai-governance/guardrails) | Choose what happens to MCP servers and skills outside the Catalog |
| [Assessment](/docs/guides/core-concepts/assessments) | Score LLM conversations for alignment and risk |
| [Usage, Models, MCPs, Skills, Applications, and Providers](/docs/guides/ai-governance/usage) | See AI activity, usage, and policy hits |

[Insights](/docs/guides/observability/insights) adds AI-generated security findings about LLM traffic.

## How the Pieces Fit

1. **Capture AI traffic.** Formal sees AI activity that flows through the [Formal Endpoint](/docs/guides/client-apps/desktop-app) or a <G anchor="connector">Connector</G>.
2. **Discover.** Shadow AI and the usage pages show which MCP servers, skills, models, and AI clients people use.
3. **Decide.** Add approved items to the Catalog with access controls. Set Guardrails for everything else.
4. **Handle exceptions.** Employees request access from the employee Catalog. Admins decide in Access Requests.
5. **Investigate.** Review Insights, Logs, and the usage pages for risky activity.

## Capture AI Traffic

Each page reads logs, so it only shows traffic that Formal proxies:

| Traffic | How to capture it | Pages that use it |
| - | - | - |
| LLM requests from laptops and servers | Formal Endpoint with [Transparent Mode](/docs/guides/client-apps/desktop-app#transparent-mode) and a [network rule](/docs/guides/network-rules) that intercepts `llm` traffic | Usage, Models, Applications, Providers, Skills, Shadow AI skills |
| LLM requests from applications | An [LLM Resource](/docs/guides/core-concepts/resources/llm) on a Connector | Models, Applications, Providers, Skills |
| MCP servers in the Catalog | The [MCP gateway](/docs/guides/core-concepts/connectors/mcp-gateway) on a Connector | MCPs |
| MCP servers outside the Catalog | Formal Endpoint with Transparent Mode and a network rule that intercepts `mcp` traffic | Shadow AI MCP servers |

This network rule intercepts LLM and MCP traffic from known AI agents on macOS:

```cel theme={"languages":{"custom":["/languages/cel.json","/languages/rego.json"]}}
{
  "condition": {
    "pre_tcp": process.is_agent || process.has_agent_ancestor,
    "pre_tls": true,
    "post_tls": technology in ["mcp", "llm"]
  }
}
```

**Verify:** Use an AI agent on a device that runs the Endpoint. Then open [Logs](https://app.formal.ai/logs), select the **Endpoint** source, and filter on `resource.technology:llm`.

## The Catalog

The [Catalog](https://app.formal.ai/catalog) lists the MCP servers and skills your organization approves. Click **Add MCP** to add a server from a template or a custom endpoint. See [MCP Gateway](/docs/guides/core-concepts/connectors/mcp-gateway#add-an-mcp-server) for the steps. Click **Add Skill** to add a skill from its `SKILL.md`.

Adding items requires the **Resource** permission. Changing access requires the **Policies** permission.

### Access Controls

Open an MCP server or a skill and go to **Access Controls**. Under **Who can use this MCP?** or **Who can use this skill?**, choose:

* **Everyone:** Every user can use it.
* **Specific Users:** Only the selected users and groups can use it.
* **No One:** Nobody can use it. Formal keeps the item in the Catalog as blocked.

For an MCP server, you can also answer **Which tools can they use?** with **All Tools** or **Specific Tools**.

Formal enforces restrictions with a generated <G anchor="policy">policy</G>. It stores **Message shown when access is denied** as the policy's `reason`, which appears in Logs. Blocked users currently see Formal's standard block message instead. An item open to **Everyone**, with **All Tools** for an MCP server, needs no policy, so Formal deletes it. You can find these policies on the [Policies](https://app.formal.ai/policies) page, tagged as described in [Policy Tags](/docs/guides/policies/introduction#policy-tags). Edit access from the Catalog rather than in the policy code.

### The Employee Catalog

Employees use the employee Catalog at [catalog.formal.ai](https://catalog.formal.ai). There they can:

* Browse the MCP servers and skills available to them
* Follow setup steps for their MCP clients
* Link upstream accounts and approve MCP clients during sign-in
* Request access to MCP servers, or exceptions to policies that blocked them
* Review their governed AI activity and their requests

Control who can use the employee Catalog with the **Catalog** application in [Permissions](/docs/guides/core-concepts/permissions). See [Grant access to the Catalog](/docs/guides/core-concepts/connectors/mcp-gateway#grant-access-to-the-catalog).

## Next Steps

<CardGroup cols={2}>
  <Card title="Shadow AI" icon="binoculars" href="/docs/guides/ai-governance/shadow-ai">
    Review unmanaged MCP servers and skills
  </Card>

  <Card title="Guardrails" icon="lock" href="/docs/guides/ai-governance/guardrails">
    Block MCP servers and skills outside the Catalog
  </Card>

  <Card title="Access Requests" icon="user-check" href="/docs/guides/ai-governance/access-requests">
    Approve employee requests
  </Card>

  <Card title="AI Usage" icon="chart-line" href="/docs/guides/ai-governance/usage">
    See which AI tools people use
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.