MCP Server Toolsets: OData
Toolsets: OData
The OData toolset gives an assistant access to the Magic Suite OData API. Anything reachable through the REST API is reachable here, under the same permissions.
Tools
| Tool | Does |
|---|---|
odata_entity_sets | Lists every entity set the API exposes. |
odata_query | Reads entities, with the usual OData options. |
odata_create | Creates an entity. |
odata_update | Changes an entity. Properties you omit are left alone. |
odata_delete | Deletes an entity. This cannot be undone. |
Naming entities
The entity argument takes either the entity set name (Tenants) or the singular
entity name (Tenant) where that is unambiguous.
Names are resolved against the API's own list of entity sets rather than guessed, so a name that does not
exist fails straight away with suggestions, instead of producing a confusing "not found" from a URL that was
never valid. If an assistant is unsure of a name, it can call odata_entity_sets.
Querying
odata_query accepts the standard OData options:
| Argument | Maps to | Example |
|---|---|---|
filter | $filter | Name eq 'Daily Report' |
select | $select | Id,Name,Description |
expand | $expand | Tenant,ReportJobs |
orderby | $orderby | Name desc |
top | $top | 50 |
skip | $skip | 100 |
count | $count | true |
Paging requires an order. If you supply top or skip, you must also
supply orderby. A page taken from an unordered set is not reproducible, so Magic Suite rejects it.
The response is the raw OData JSON, exactly as the API returned it.
Writing
odata_create and odata_update take a data object of properties. An
update is a partial update: only the properties you name are changed.
These tools act on live data, and odata_delete is irreversible. If you do not need an assistant
to make changes, connect with an API Token belonging to a user who has no write access - the API will then
refuse the write regardless of what the assistant attempts.
Permissions and tenancy
Every call is executed by the Magic Suite API as the API Token's user. Results are scoped to that user's tenant, and any operation they are not entitled to perform is refused by the API. The MCP Server applies no rules of its own and cannot widen access.
Example requests
Things you can reasonably ask an assistant connected to this toolset:
- "List the connections in my tenant and tell me which ones are read-only."
- "Which report schedules ran most recently? Show me the ten latest by name."
- "Find the dashboard called 'Network Overview' and tell me how many tabs it has."
- "Raise a feedback item summarising the problem we just discussed."