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

# MCP reference

> Tools, resources, limits, and transport details exposed by Anarlog MCP.

Run the server with `anarlog mcp`. It supports the current MCP `2026-07-28` protocol over stdio while remaining compatible with earlier MCP clients. Meeting reads are local and idempotent. Proposal tools can insert or decline staged edits; they never apply those edits. The desktop app only needs to have created the database once. Open it to review and apply pending proposals.

## Tools

### `list_meetings`

| Parameter | Type | Default | Notes |
| - | - | - | - |
| `query` | string | — | Case-insensitive title or meeting ID substring. An empty result list means no matches; do not invent meetings. |
| `series_id` | string | — | Exact recurring series ID. |
| `folder_path` | string | — | Folder path from `list_folders`, such as `Projects/Launch`. Includes meetings in its subfolders. |
| `limit` | integer | `20` | Clamped to `1..200`. |
| `offset` | integer | `0` | Number of results to skip. |

Each meeting includes `folder_path`, which is `null` when the meeting is not in a folder.

### `list_folders`

| Parameter | Type | Default | Notes |
| - | - | - | - |
| `query` | string | — | Case-insensitive folder path substring. |
| `limit` | integer | `100` | Clamped to `1..200`. |
| `offset` | integer | `0` | Number of results to skip. |

Returns `folders` sorted by path, plus `pagination`. Each folder contains `path`, `name`, and `parent_path` (`null` for top-level folders). The list includes empty folders and parent folders. Pass a returned `path` as `list_meetings` `folder_path`.

### `get_meeting`

Accepts required string `meeting_id`. Returns meeting metadata, including `folder_path`, the canonical memo, summaries, participants, and action items. Transcript words are intentionally separate.

### `get_meeting_transcript`

| Parameter | Type | Default | Notes |
| - | - | - | - |
| `meeting_id` | string | required | A returned Anarlog meeting ID. |
| `offset` | integer | `0` | Word offset. |
| `limit` | integer | `200` | Clamped to `1..500`. |

The result includes `meeting_id`, `text`, `words`, and a `pagination` object. Pagination contains `offset`, `limit`, `returned`, `total`, and `next_offset`. A missing `pagination.next_offset` means the page reached the end.

### `get_recurring_meeting_history`

Accepts required string `meeting_id` plus optional integer `limit` and `offset`. The limit defaults to 20 and is clamped to `1..200`; the offset defaults to 0. Results are newest first. When the meeting has no recurring series, `meetings` is empty.

### `export_meeting`

Accepts required string `meeting_id`. Returns the complete structured meeting record, including metadata, notes, summaries, participants, action items, and transcripts. Prefer the smaller detail or transcript tools unless the task explicitly needs a full export.

When available, `speakers` provides the names referenced by transcript speaker assignments, and `speaker_context` records microphone and call context. These fields are optional; older or trimmed Cloud snapshots may omit them.

### `propose_summary_edit`

| Parameter | Type | Default | Notes |
| - | - | - | - |
| `meeting_id` | string | required | A returned Anarlog meeting ID. |
| `content` | string | required | Complete replacement summary in markdown. |
| `target_id` | string | — | Summary document ID. Required when the meeting has multiple summaries. |

The result is a pending proposal. It does not change the meeting until a human applies it in the desktop app.

### `propose_memo_edit`

| Parameter | Type | Default | Notes |
| - | - | - | - |
| `meeting_id` | string | required | A returned Anarlog meeting ID. |
| `content` | string | required | Complete replacement memo in markdown. |

The result is a pending proposal. It does not change the meeting until a human applies it in the desktop app. `content` replaces the canonical meeting memo.

### `list_proposals`

| Parameter | Type | Default | Notes |
| - | - | - | - |
| `meeting_id` | string | — | Limit results to one meeting. |
| `status` | string | `pending` | `pending`, `applied`, `declined`, or `all`. |
| `limit` | integer | `20` | Clamped to `1..200`. |
| `offset` | integer | `0` | Number of results to skip. |

### `get_proposal`

Accepts required string `proposal_id`. Returns metadata and a unified `diff`.

### `decline_proposal`

Accepts required string `proposal_id`. Marks a pending proposal declined without changing the meeting. Applied or already-declined proposals cannot be declined.

## Resources

| URI | MIME type | Content |
| - | - | - |
| `anarlog://meetings/{meeting_id}` | `text/markdown` | Meeting detail without transcript text. |
| `anarlog://meetings/{meeting_id}/transcript{?offset,limit}` | `text/plain` | A bounded transcript page. `offset` defaults to 0 and `limit` defaults to 200 (clamped to 500 words). Returns plain text only; use `get_meeting_transcript` for structured `words`. |
| `anarlog://series/{series_id}` | `text/markdown` | Up to 100 meetings in a recurring series. |

Resource listing returns recent meeting resources in pages of 20. Its cursor is a numeric result offset.


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