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

# Available tools

> The current tool catalog, inputs, and returned project context.

Nimt currently exposes two read-only tools. Your assistant chooses and calls them
based on your question; you normally do not need to write JSON or remember tool
names. Both require `mcp:read` and respect the connection's workspace boundary.

| Tool                      | Purpose                                                    |
| ------------------------- | ---------------------------------------------------------- |
| `workspace_list_projects` | Find projects and get their IDs.                           |
| `project_get_metadata`    | Read the context for a project returned by the first tool. |

These are the customer MCP tools, not a list of everything the Nimt app can do.
No write actions, visibility reports, citation analysis, or individual prompt
results are available through this catalog yet.

<Note>
  This reference describes the current pre-release catalog. Custom integrations
  should discover the live tool definitions with `tools/list` and follow the
  [compatibility guidance](/mcp/compatibility).
</Note>

## List workspace projects

`workspace_list_projects` lists or searches non-deleted projects in the
connection's workspace, including drafts. It returns project IDs to use in
subsequent calls.

### Inputs

| Field    | Type    | Required | Meaning                                                                                                     |
| -------- | ------- | -------- | ----------------------------------------------------------------------------------------------------------- |
| `search` | string  | No       | Project name, ID, website, or brand search text. Omit it to list all projects; a blank string is not valid. |
| `offset` | integer | No       | Number of matching projects to skip. Default `0`; minimum `0`.                                              |
| `limit`  | integer | No       | Page size. Default `25`; range `1`–`100`.                                                                   |

For example:

```json theme={null}
{
  "search": "example.com",
  "offset": 0,
  "limit": 25
}
```

### Returned fields

| Field                  | Meaning                                                         |
| ---------------------- | --------------------------------------------------------------- |
| `projects[].id`        | Project identifier to pass unchanged to `project_get_metadata`. |
| `projects[].name`      | Project display name.                                           |
| `projects[].brandName` | Brand name, or `null` when unavailable.                         |
| `projects[].url`       | Project website.                                                |
| `projects[].status`    | `draft` or `active`.                                            |
| `projects[].createdAt` | Creation time as an ISO 8601 timestamp.                         |
| `pagination.offset`    | Offset for this page.                                           |
| `pagination.limit`     | Requested page size.                                            |
| `pagination.total`     | Total matching projects, not just the number in this page.      |

Projects are currently sorted by creation time, newest first. Do not identify a
project by its position in the list. Use its ID.

### Pagination

Keep the same search and limit, and increase `offset` by the number of projects
returned. Continue until the offset reaches `pagination.total`; stop if a page
is empty. An empty result is valid when no projects match.

Results are live, not a frozen snapshot. If projects are created or deleted while
you paginate, page positions and totals can move. For an inventory, deduplicate
by project ID and repeat the collection if you need a consistent comparison.

## Get project metadata

`project_get_metadata` returns context for one project in the connected workspace.
First discover the project with `workspace_list_projects`; do not guess its ID
or use an ID from another workspace.

### Inputs

| Field       | Type   | Required | Meaning                                                                  |
| ----------- | ------ | -------- | ------------------------------------------------------------------------ |
| `projectId` | string | Yes      | The exact 21-character project ID returned by `workspace_list_projects`. |

Treat the ID as an opaque value. A project's display name or website cannot be
used in its place. Extra input fields are rejected by both tools.

### Returned fields

| Field                            | Meaning                                                                                                      |
| -------------------------------- | ------------------------------------------------------------------------------------------------------------ |
| `projectId`                      | The requested project.                                                                                       |
| `fetchedAt`                      | When this metadata was collected, as an ISO 8601 timestamp. This is not the time a prompt last ran.          |
| `ownBrand`                       | An object with `brandId` and `brandName`, or `null` if no brand is resolved.                                 |
| `trackedModels`                  | Model IDs currently configured for the project, including inherited configuration.                           |
| `seenModels`                     | Model IDs observed in stored project data, including models no longer tracked.                               |
| `dataAvailableRange.from` / `to` | Earliest/latest dates in the stored reporting range, or `null` when unavailable.                             |
| `stats.totalPrompts`             | Number of active, non-deleted prompts.                                                                       |
| `tags`                           | Objects with `id`, `tag`, and `promptCount`; includes tags with zero active prompts.                         |
| `intents`                        | Objects with `intent` and `promptCount` for active prompts; `intent` can be `null` for unclassified prompts. |

A prompt can belong to multiple tags, so adding tag counts may exceed
`stats.totalPrompts`. Inactive and deleted prompts are not included in those
counts. The current tool does not return prompt text.

A model appearing in `trackedModels` does not prove it has produced data yet.
A model appearing in `seenModels` does not prove it is still tracked. The date
range does not guarantee data for every day or every model between its endpoints.

For practical examples, see [example questions](/mcp/examples). For errors,
pagination issues, or unexpected empty values, see
[troubleshooting](/mcp/troubleshooting).
