> For the complete documentation index, see [llms.txt](https://docs.kula.digital/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.kula.digital/for-developers/tools.md).

# Tool reference

This is the catalogue of tools the MCP server exposes. Each is annotated **Read** (read-only) or **Write** / **Destructive**, and the minimum [permission level](/connect-claude-and-access/scopes.md) it needs.

The server is the source of truth — ask a connected client to list its tools to see exactly what's advertised to you. Tools you call without a high enough permission level return a clear `403` and reveal nothing.

> **Conventions.** Read-only tools carry `readOnlyHint`. Tools that modify or delete data carry `destructiveHint`. Writes require at least the `operations` level; business-record and destructive writes require `admin`.

## Querying your data

| Tool                     | Kind | Min level  | What it does                                                                                                 |
| ------------------------ | ---- | ---------- | ------------------------------------------------------------------------------------------------------------ |
| `list_tables`            | Read | analytics  | List the tables available in your studio's database.                                                         |
| `get_table_schema`       | Read | analytics  | Column definitions for a table.                                                                              |
| `execute_query`          | Read | analytics  | Run a read-only `SELECT`/`WITH` query. No writes. **Schema:** [schema reference](/for-developers/schema.md). |
| `build_query`            | Read | analytics  | Help compose a parameterised `SELECT`. **Schema:** [schema reference](/for-developers/schema.md).            |
| `entity_lookup`          | Read | analytics  | Resolve a name or email to a canonical entity id (member, location, org).                                    |
| `get_member_payments`    | Read | operations | A member's sales/payment history (honours scoping).                                                          |
| `get_member_plan_status` | Read | operations | A member's plan/membership status.                                                                           |

## Business context & catalogue

| Tool                     | Kind | Min level | What it does                                                                  |
| ------------------------ | ---- | --------- | ----------------------------------------------------------------------------- |
| `get_semantic_catalogue` | Read | analytics | The data dictionary plus operator-authored business context for this studio.  |
| `get_business_context`   | Read | analytics | The studio's profile, classes, demographics, goals, brand voice, and pricing. |

## Graph & signals

| Tool                      | Kind | Min level  | What it does                                      |
| ------------------------- | ---- | ---------- | ------------------------------------------------- |
| `get_member_affinity`     | Read | operations | Relationship/affinity between members and staff.  |
| `get_staff_concentration` | Read | operations | How concentrated members are on particular staff. |
| `get_open_signals`        | Read | operations | Early at-risk indicators for members.             |
| `get_cac_by_cohort`       | Read | analytics  | Customer-acquisition cost broken down by cohort.  |

## Views

| Tool            | Kind        | Min level  | What it does                |
| --------------- | ----------- | ---------- | --------------------------- |
| `list_views`    | Read        | analytics  | List saved views.           |
| `describe_view` | Read        | analytics  | A view's SQL and metadata.  |
| `create_view`   | Write       | operations | Create a named, saved view. |
| `drop_view`     | Destructive | admin      | Delete a view.              |

## Skills

| Tool               | Kind        | Min level  | What it does                                                |
| ------------------ | ----------- | ---------- | ----------------------------------------------------------- |
| `list_skills`      | Read        | analytics  | List available skills (built-in + your own).                |
| `get_skill`        | Read        | analytics  | Fetch a skill's full definition (may be operator-authored). |
| `list_skill_files` | Read        | analytics  | List a skill's bundled files.                               |
| `get_skill_file`   | Read        | analytics  | Fetch one bundled skill file.                               |
| `create_skill`     | Write       | operations | Save a custom skill (lands as a draft for review).          |
| `deprecate_skill`  | Destructive | admin      | Mark a skill deprecated.                                    |

## Memory (shared, per-studio)

| Tool            | Kind        | Min level  | What it does                                 |
| --------------- | ----------- | ---------- | -------------------------------------------- |
| `memory_view`   | Read        | operations | Read a note from the studio's shared memory. |
| `memory_create` | Write       | operations | Create a memory note.                        |
| `memory_edit`   | Write       | operations | Edit a memory note.                          |
| `memory_rename` | Write       | operations | Rename a memory note.                        |
| `memory_delete` | Destructive | admin      | Delete a memory note.                        |

> This is the **studio's** shared memory, stored in this connector's database — separate from the AI client's own conversation memory.

## Knowledge wiki

| Tool               | Kind  | Min level  | What it does                         |
| ------------------ | ----- | ---------- | ------------------------------------ |
| `search_knowledge` | Read  | operations | Search the studio's knowledge notes. |
| `get_knowledge`    | Read  | operations | Fetch a knowledge note.              |
| `add_note`         | Write | operations | Add a knowledge note.                |
| `link_knowledge`   | Write | operations | Link knowledge notes/entities.       |

## Semantic search

| Tool                     | Kind  | Min level | What it does                                       |
| ------------------------ | ----- | --------- | -------------------------------------------------- |
| `get_embeddings_status`  | Read  | analytics | Whether semantic search is enabled for the studio. |
| `set_embeddings_enabled` | Write | admin     | Turn semantic search on/off (opt-in).              |

## Artifacts

| Tool              | Kind  | Min level  | What it does                                                |
| ----------------- | ----- | ---------- | ----------------------------------------------------------- |
| `create_artifact` | Write | operations | Save a report/export/summary that persists beyond the chat. |

## Ignition (the diagnostic engine)

| Tool                   | Kind  | Min level  | What it does                      |
| ---------------------- | ----- | ---------- | --------------------------------- |
| `get_ignition_status`  | Read  | operations | Current diagnostic state.         |
| `get_ignition_intake`  | Read  | operations | The intake form schema.           |
| `save_ignition_intake` | Write | operations | Submit intake answers.            |
| `run_ignition`         | Write | operations | Run a diagnostic stage.           |
| `close_ignition_gate`  | Write | admin      | Finalise a diagnostic stage gate. |

## Evals

| Tool                 | Kind  | Min level  | What it does               |
| -------------------- | ----- | ---------- | -------------------------- |
| `list_eval_cases`    | Read  | operations | List a skill's test cases. |
| `get_eval_summary`   | Read  | operations | Aggregate eval metrics.    |
| `add_eval_case`      | Write | operations | Add a test case.           |
| `record_eval_result` | Write | operations | Record one eval result.    |

## Ingest audit (raw records)

| Tool               | Kind  | Min level | What it does                                 |
| ------------------ | ----- | --------- | -------------------------------------------- |
| `list_raw_records` | Read  | admin     | Query the raw ingest log.                    |
| `get_raw_record`   | Read  | admin     | Fetch one raw ingest payload.                |
| `record_raw`       | Write | admin     | Write a raw ingest payload (ingest tooling). |

## Logs & feedback

| Tool                  | Kind  | Min level  | What it does                                                    |
| --------------------- | ----- | ---------- | --------------------------------------------------------------- |
| `get_error_summary`   | Read  | operations | Aggregated errors from ingest jobs — the connector health view. |
| `get_mcp_usage_stats` | Read  | operations | Per-tool usage metrics for the studio.                          |
| `submit_feedback`     | Write | analytics  | Submit feedback on a tool result (append-only).                 |

## What you won't find

No tools move money, issue refunds, generate media, or read across studios. Those capabilities are deliberately absent — see [Security & data handling](/trust-and-legal/security.md).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.kula.digital/for-developers/tools.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
