# get_schedule (/docs/build/mcp-reference/get_schedule)

{/* GENERATED by scripts/generate-mcp-reference.mjs from the MCP server tools/list. Do not edit. */}

| Group | Access | MCP name |
| --- | --- | --- |
| Schedule | Read-only | `get_schedule` |

## Description [#description]

The description the MCP server sends to the model, word for word. Its rules apply to every call.

> Get your recurring schedule template (weekly time slots). Each slot may list reserved tags (a reserved lane), untaggedNotesOnly (only notes with no tags), and default Buffer cross-post channels. Queue routing: each weekly time can reserve tags, accept only untagged notes, or stay open for any note, and may also set default Buffer channels. A time with tags is a reserved lane — it stays empty until a note shares ANY of those tags (OR). A time marked untaggedNotesOnly (and with no tags) accepts only notes with no tags; tagged notes never take those times, including Add to Queue leftovers. Untagged notes never take reserved lanes. When filling the next template times (schedule_notes), a tagged note takes the first open (any-note) time or matching reserved lane, whichever comes first. An untagged note takes the first open or untagged-only time. If a time has Buffer channels, those replace the note's channels when the note lands there (apply-on-schedule only). Substack still always posts. Call get_schedule to see each slot's tags, untaggedNotesOnly, and bufferChannels.

## Arguments [#arguments]

This tool takes no arguments.

## Example call [#example-call]

The smallest valid request: required arguments only, with placeholder values.

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_schedule",
    "arguments": {}
  }
}
```

## Result [#result]

The result has `structuredContent` that matches this schema. The same data is also in `content` as JSON text.

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `message` | `string` | No |  |
| `slots` | `object[]` | No |  |
| `slots[].bufferChannels` | `object[]` | No |  |
| `slots[].bufferChannels[].id` | `string` | Yes |  |
| `slots[].bufferChannels[].name` | `string` | Yes |  |
| `slots[].bufferChannels[].service` | `string` | Yes |  |
| `slots[].days` | `string[]` | Yes |  |
| `slots[].id` | `string` | Yes |  |
| `slots[].tags` | `string[]` | No |  |
| `slots[].time` | `string` | Yes |  |
| `slots[].timezone` | `string` | Yes |  |
| `slots[].untaggedNotesOnly` | `boolean` | No |  |

## Annotations [#annotations]

| Hint | Value |
| --- | --- |
| `readOnlyHint` | `true` |
| `destructiveHint` | `false` |
| `openWorldHint` | `false` |

The full input and output JSON Schemas for every tool are in [/mcp-tools.json](/mcp-tools.json).
