source_records_read
Read one bounded page (at most 500 rows) of source records with optional select, where, orderBy and an Iceberg snapshotId or asOf. Pass meta.nextCursor back as cursor for the next page.
When to use it
Use source_records_read to read source records. This tool operates at workspace scope. It does not require a project context unless a filtering argument explicitly asks for one.
Plugin requirements
Uses the endpoint’s installed connector capability. Configure the connector installation and bind it to the selected data endpoint first. Supported checks, schema discovery and reads depend on its declared contract. Use the plugin setup guides for configuration. Inspect the workspace’s plugin installations and check the installation before executing it.
Arguments
| Name | Type | Required | Default | Constraints |
|---|---|---|---|---|
sourceId | string | Yes | — | Format: uuid; Pattern constraint; see full schema |
limit | integer | No | 100 | Minimum: 1; Maximum: 500 |
select | array | No | [] | Items: string |
where | array | No | [] | Items: object |
orderBy | array | No | [] | Items: object |
snapshotId | string | No | — | Minimum length: 1; Maximum length: 500 |
asOf | string | No | — | Format: date-time; Pattern constraint; see full schema |
cursor | string | No | — | Minimum length: 1 |
View the complete input schema, including nested contracts and alternative shapes. The schema is extracted from the workspace server’s Zod definitions. Runtime validation also enforces custom checks that JSON Schema cannot express.
Response shape
The operation-specific payload is returned in data; its contents follow the operation described above.
MCP returns a text block containing the JSON operation result and a
structuredContent copy. The envelope includes data, completeness,
truncated, freshness, and warnings. Depending on the operation it can also
include nextCursor, evidence, job, or receipt.
Check those fields before treating a conversational summary as the result.
When a job is returned, inspect its status with the appropriate execution tool;
a queued response is not confirmation that work finished. Follow evidence links
when checking the underlying records.
Input methods
This request illustrates the argument structure. Replace every angle-bracket placeholder with a real value and supply any applicable optional fields from the schema. Nested business contracts must match your actual configuration. Send it through an authenticated, initialized MCP client; this JSON alone does not establish a session or sign you in.
Open the endpoint in workspace Data Endpoints and use its supported bounded preview. Compare the selected records and schema with the requested filters. If the connector does not expose this preview, use a bounded pipeline read or one of the programmatic methods.
Use Semogram’s source_records_read tool to read source records. Confirm the workspace and use records I can access. Do not change anything.
Use real resource IDs returned by earlier reads; a resource name is not a UUID. Do not fill missing business inputs with invented values.
Use a workspace API key with data:read. Set SEMOGRAM_API_KEY in your shell; replace resource placeholders with real IDs. This is an HTTP resource request, not an MCP JSON-RPC message.
curl --request GET "https://platform.semogram.com/api/v1/data-endpoints/<SOURCE_ID_UUID>/records" \
--header "Authorization: Bearer ${SEMOGRAM_API_KEY}"This is an MCP tools/call request, not a form to paste into Semogram. Send it through an authenticated, initialized MCP client.
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "source_records_read",
"arguments": {
"sourceId": "<SOURCE_ID_UUID>"
}
}
}FAQ
What access and approvals are required?
Required permission scopes: data:read.
OAuth uses current workspace membership; API keys use their assigned scopes
and grants. Discovery can exclude tools the caller cannot use.
Read-only annotation: Yes. Destructive annotation: No. Follow the operation’s declared contract and any applicable server-side approval policy.
How should I handle retries?
Do not assume repeated calls are safe merely because the client offers Retry. Inspect the result or existing request before repeating work that changes state. For 429 responses, honor Retry-After rather than retrying immediately.
Why is this tool missing or returning an error?
Confirm the workspace, resource IDs, and permission scopes. Read the returned error before changing the request. See connection, authentication and troubleshooting for sign-in, scope, resource access, and rate-limit errors.