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

# Navis Ops MCP resources reference

> Reference for the 5 read-only MCP resources — 4 static and 1 templated — that give AI clients a structured snapshot of your workspace data.

MCP resources are read-only data endpoints that give AI clients a structured snapshot of your workspace. The Navis Ops MCP server exposes four static resources and one templated resource. All resources require `mcp:read` scope (or `mcp:write`).

Resources are fetched on demand — every time your AI client reads a resource, it gets the current data at that moment. There are no live subscriptions or push updates. If you need fresh data after making changes, your client must re-read the resource.

## Reading a resource

Use the `resources/read` JSON-RPC method with the resource URI:

```json theme={null}
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "resources/read",
  "params": {
    "uri": "navis://workspace/summary"
  }
}
```

To list available resources, use `resources/list`. For templated resources, use `resources/templates/list` to get the URI template, then construct the URI with your values.

## Static resources

These four resources are always available. Their URIs are fixed — no parameters required.

<AccordionGroup>
  <Accordion title="navis://workspace/summary">
    **Workspace overview**

    A compact summary of your entire workspace. Returns aggregate counts and recent activity so an AI assistant can quickly orient itself before deciding which tools to call.

    **Returns:**

    * Total project count
    * Total task count (all statuses)
    * Total note count
    * Total calendar event count
    * Total goal count
    * Recent activity (last modified items across types)

    **Use this when** you want the assistant to get a high-level picture of your workspace before doing more specific work.

    ```json theme={null}
    {
      "uri": "navis://workspace/summary",
      "mimeType": "application/json"
    }
    ```
  </Accordion>

  <Accordion title="navis://projects/all">
    **All projects**

    A full list of all non-deleted projects in your workspace. Returns each project's ID, name, status, color, icon, and pin state.

    **Returns:**

    * All projects (non-deleted)
    * Per project: `id`, `name`, `status`, `color`, `icon`, `is_pinned`, `project_type_id`, `created_at`

    **Use this when** the assistant needs to find a project ID before calling project-specific tools, or when you want a full workspace overview.

    ```json theme={null}
    {
      "uri": "navis://projects/all",
      "mimeType": "application/json"
    }
    ```
  </Accordion>

  <Accordion title="navis://tasks/today">
    **Tasks due today**

    All tasks that are due today or are overdue and not yet completed. Results are sorted urgent-first and capped at 100 tasks.

    **Returns:**

    * Non-completed tasks where `due_date` is today or earlier
    * Per task: `id`, `title`, `status`, `priority`, `due_date`, `project_id`, `project_name`
    * Capped at 100 results, sorted by priority and due date

    **Use this when** you want the assistant to help you triage today's work, generate a standup, or identify overdue items.

    ```json theme={null}
    {
      "uri": "navis://tasks/today",
      "mimeType": "application/json"
    }
    ```
  </Accordion>

  <Accordion title="navis://calendar/week">
    **This week's calendar events**

    All calendar events in the next 7 days from today (UTC). Capped at 200 events.

    **Returns:**

    * Events with `start_time` within the next 7 days
    * Per event: `id`, `title`, `start_time`, `end_time`, `all_day`, `event_type`, `project_id`
    * Capped at 200 results, sorted by start time

    **Use this when** you want the assistant to help with weekly planning, scheduling, or generating a calendar-aware standup.

    ```json theme={null}
    {
      "uri": "navis://calendar/week",
      "mimeType": "application/json"
    }
    ```
  </Accordion>
</AccordionGroup>

## Templated resource

Templated resources use URI templates (RFC 6570). Fill in the parameter to construct a valid URI, then read it with `resources/read`.

<AccordionGroup>
  <Accordion title="navis://projects/{id}/tasks">
    **Open tasks for a specific project**

    URI template: `navis://projects/{id}/tasks`

    Returns the open tasks for a single project, identified by its ID. Filters to non-completed tasks and returns up to 100 results.

    **Parameters:**

    | Parameter | Type          | Description                                                                                        |
    | --------- | ------------- | -------------------------------------------------------------------------------------------------- |
    | `id`      | string (UUID) | The project ID. Use `list_projects` or the `navis://projects/all` resource to look up project IDs. |

    **Returns:**

    * Project metadata (`id`, `name`, `status`)
    * Up to 100 open tasks for that project: `id`, `title`, `status`, `priority`, `due_date`, `assignee`

    **Example URI:** `navis://projects/3fa85f64-5717-4562-b3fc-2c963f66afa6/tasks`

    **Use this when** the assistant is working within the context of a specific project and needs its task list.

    To get the URI template via JSON-RPC:

    ```json theme={null}
    {
      "jsonrpc": "2.0",
      "id": 1,
      "method": "resources/templates/list",
      "params": {}
    }
    ```

    Then construct the URI by replacing `{id}` with the project ID and read it:

    ```json theme={null}
    {
      "jsonrpc": "2.0",
      "id": 2,
      "method": "resources/read",
      "params": {
        "uri": "navis://projects/3fa85f64-5717-4562-b3fc-2c963f66afa6/tasks"
      }
    }
    ```
  </Accordion>
</AccordionGroup>

## Resource freshness

Resources are fetched on demand — they reflect the current state of your workspace at the time of the read. There are no live subscriptions or change notifications. If your AI assistant needs up-to-date data after making changes (for example, after calling `create_task`), it must re-read the relevant resource.

<Tip>
  If you're using an AI assistant interactively and notice it's working from stale data, ask it to re-read the relevant resource. For example: "Re-read navis\://tasks/today and tell me what's overdue."
</Tip>
