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

# emma MCP Server

> Connect your AI agent to emma's integrations and Skills using the official MCP server.

The emma MCP Server gives any MCP-compatible client — Cursor, Claude Code, Codex, and others — programmatic access to emma's integration ecosystem and Skill library, without exposing hundreds of individual tools to your agent's context window.

Instead of registering a separate MCP tool for every Slack action, every GitHub action, every Notion action, and so on, emma follows a **Tool Vendor** pattern (similar to Composio): a small number of meta-tools let your agent *search* for the right integration, *inspect* its schema, and *execute* it on demand. A parallel **Skill Vendor** pattern does the same for reusable, saved workflows.

## Features

<CardGroup cols={2}>
  <Card title="Tool Discovery" icon="search">
    Search across emma's integrations (Slack, GitHub, Notion, Gmail, and more) by keyword instead of memorizing tool names
  </Card>

  <Card title="Direct Execution" icon="zap">
    Execute any discovered tool with structured arguments and get the result back inline
  </Card>

  <Card title="Built-in OAuth Handling" icon="key">
    When a tool needs authentication, you get a connect link back automatically — no separate auth flow to build
  </Card>

  <Card title="Skill Library" icon="book">
    Save a workflow once and reuse it from any machine, IDE, or agent — Skills are stored in emma's cloud
  </Card>

  <Card title="Health Monitoring" icon="heart-pulse">
    Verify your API key and connection before running anything else
  </Card>
</CardGroup>

## Authentication

The emma MCP Server requires an API key for authentication.

### Getting Your API Key

1. Log in to [emma](https://app.emma.ai)
2. Go to **API Keys**
3. Create or copy your API key

Send it with every request as `Authorization: Bearer <api_key>` (or `X-API-Key: <api_key>`). See the [Setup Guide](/mcp/setup) for the exact client configuration.

<Warning>
  Keep your API key secure. Do not commit it to version control or share it publicly.
</Warning>

## Available Tools

The emma MCP Server provides 9 tools organized into three categories:

### Health Check

| Tool                | Description                                        |
| ------------------- | -------------------------------------------------- |
| `emma_health_check` | Verify connectivity and that your API key is valid |

### Tool Vendor

| Tool                   | Description                                                       |
| ---------------------- | ----------------------------------------------------------------- |
| `emma_search_tools`    | Search emma's integrations by keyword (e.g. "post slack message") |
| `emma_get_tool_schema` | Get the input schema for a specific integration tool              |
| `emma_execute_tool`    | Execute a specific integration tool with arguments                |

### Skill Vendor

| Tool                | Description                                          |
| ------------------- | ---------------------------------------------------- |
| `emma_list_skills`  | List saved Skills (reusable workflows), newest first |
| `emma_get_skill`    | Get a Skill's full instructions                      |
| `emma_create_skill` | Save a reusable workflow as a new Skill              |
| `emma_update_skill` | Update an existing Skill                             |
| `emma_delete_skill` | Delete a Skill                                       |

<Note>
  For detailed parameters, response formats, and examples for every tool, see the [Tools Reference](/mcp/tools-reference).
</Note>

## Recommended Workflows

### Tool Vendor: search → schema → execute

<Steps>
  <Step title="Search for a tool">
    Call `emma_search_tools` with a natural-language query (optionally filtered by `service`) to find the right integration tool name.
  </Step>

  <Step title="Inspect its schema (if needed)">
    Call `emma_get_tool_schema` with the exact tool name to see its required and optional arguments.
  </Step>

  <Step title="Execute it">
    Call `emma_execute_tool` with the tool name and a JSON object of arguments. If the underlying service requires authentication you haven't set up yet, the response includes a `connect_link` — visit it, then retry.
  </Step>
</Steps>

### Skill Vendor: list → get → follow → save

<Steps>
  <Step title="Check for an existing Skill">
    Call `emma_list_skills` before starting a task — it returns all your saved Skills (optionally filtered by `query`) with pagination.
  </Step>

  <Step title="Read its instructions">
    Call `emma_get_skill` with a `skill_id` to get the full step-by-step instructions.
  </Step>

  <Step title="Follow the instructions">
    Your agent executes the steps itself, using `emma_search_tools` / `emma_execute_tool` for any integration actions along the way.
  </Step>

  <Step title="Save new workflows">
    Once you've built a workflow worth reusing, call `emma_create_skill` so it's available from any machine or agent later.
  </Step>
</Steps>

## Use Cases

### Discover and use an integration from your IDE

```
"Post 'Deploy finished ✅' to Slack #general"
"Create a GitHub issue titled 'Fix login redirect bug' in owner/repo"
"Search for tools related to Notion"
```

Your agent will call `emma_search_tools`, then `emma_execute_tool` (fetching the schema first if it's unsure of the arguments).

### Handle authentication mid-task

```
"Send a message to my team on Slack"
```

If you haven't connected Slack yet, `emma_execute_tool` returns `success: false` with `reason: "auth_required"` and a `connect_link`. Your agent should surface that link, wait for you to authenticate, then retry the same call.

### Save and reuse a workflow as a Skill

```
"Save this as a skill called 'Weekly Status Report'"
"List my saved skills"
"Run my 'Weekly Status Report' skill"
```

Skills created this way also appear in emma's Web UI under the **Skills** tab and can be used by emma's own agents — not just your MCP client.

## Next Steps

<CardGroup cols={2}>
  <Card title="Setup Guide" icon="wrench" href="/mcp/setup">
    Configure the emma MCP Server in Cursor, Claude Code, or Codex
  </Card>

  <Card title="Tools Reference" icon="book" href="/mcp/tools-reference">
    Detailed documentation for all tools
  </Card>
</CardGroup>
