Seed MCP Server
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Seed MCP Servershow me the accounts table"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Seed MCP Server
MCP server for creating and inspecting Seed tables and relationships through the existing seed-backend HTTP API.
Setup
npm install
npm run buildRelated MCP server: Airtable MCP Server
Configuration
Set either an access token:
SEED_API_BASE=http://localhost:3007
SEED_ACCESS_TOKEN=...Or login credentials:
SEED_API_BASE=http://localhost:3007
SEED_ORG=visual-sql
SEED_EMAIL=admin@admin.com
SEED_PASSWORD=adminFor organization listing, set a Maint token or Maint password:
SEED_MAINT_ACCESS_TOKEN=...
# or
SEED_MAINT_PASSWORD=...Run
npm startTools
seed_get_access_tokenseed_list_orgsseed_register_orgseed_create_orgseed_update_orgseed_delete_orgseed_list_tablesseed_get_tableseed_create_tableseed_add_relationshipseed_list_framesseed_get_frameseed_create_frameseed_update_frameseed_delete_framesseed_list_viewsseed_get_viewseed_create_viewseed_update_viewseed_delete_viewsseed_list_documentsseed_add_documentsseed_add_mock_dataseed_delete_documentsseed_grant_permission
seed_get_access_token
Get a Seed API access token for either a regular organization user or Maint. The MCP server prompts for credentials through the client instead of accepting them as tool arguments.
User token:
{ "type": "user" }Maint token:
{ "type": "maint" }seed_grant_permission
Grant a role access to a table/resource by creating a row in permissions and linking it to the role.
{
"resourceId": "accounts",
"access": 15,
"roleName": "admin"
}Access bitmask: create 1, read 2, update 4, delete 8, full CRUD 15.
seed_create_frame
Create a frame on top of an existing table. Frames select the fields and relations that a view can render.
{
"name": "accounts_frame",
"table": "accounts",
"label": "Accounts",
"fields": [
{ "name": "name", "type": "string", "label": "Name" },
{ "name": "accountType", "type": "enum", "label": "Account Type" }
],
"relations": []
}Optional filter/order inputs are JSON strings: fieldFiltersJson, fieldOrderJson, and relationFiltersJson.
For user-scoped frames, use relationFiltersJson with Seed's current-user sentinel. The backend treats
"___current___" as the logged-in user's email when the dot-walk path ends at a related users.email
field. The path uses Seed's generated join table name:
{
"relationFiltersJson": "{\"[Op.and]\":[{\"users_contacts_user.email\":{\"[Op.like]\":\"___current___\"}}]}"
}Join table names are generated as <lexicographically larger table>_<lexicographically smaller table>_<relationName>.
For example, a contacts.user -> users relation uses users_contacts_user.email, while
voice_notes.user -> users uses voice_notes_users_user.email.
seed_create_view
Create a view on top of an existing frame.
{
"name": "accounts_web_view",
"frame": "accounts_frame",
"label": "Accounts",
"layoutJson": "{\"device\":\"web\",\"group\":\"CRM\",\"list\":{\"type\":\"default\"}}"
}Optional role inputs are JSON strings: viewRolesJson and editRolesJson.
seed_list_documents
List documents from a table, usually to inspect data or find ids for relations.
{
"tableName": "accounts",
"pageNumber": 0,
"pageSize": 25
}seed_add_documents
Add exact Seed document payloads. Use this when rows include relations.
{
"tableName": "contacts",
"documents": [
{
"fields": {
"firstName": "Avery",
"lastName": "Stone",
"email": "avery@example.com"
},
"relations": {
"account": {
"type": "OneToOne",
"table": "accounts",
"id": "1"
}
}
}
]
}seed_add_mock_data
Add simple field-only mock rows. Use seed_add_documents when you need relations.
{
"tableName": "accounts",
"rows": [
{
"name": "Horizon Capital",
"accountType": "Company",
"vertical": "Dealmakers"
}
]
}seed_delete_documents
Delete documents by id. Useful for cleaning up generated mock data.
{
"tableName": "accounts",
"documentIds": ["1", "2"]
}Available Tools
25 toolsseed_add_documentsA
Add exact Seed document payloads to a table. Use this when rows include relations.
| Name | Required | Description | Default |
|---|---|---|---|
| documents | Yes | Documents with fields and optional relations. | |
| tableName | Yes | Table to insert into. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description bears full responsibility for behavioral disclosure. It does not mention side effects, idempotency, whether existing rows are replaced or updated (though the schema mentions 'id' for updates), or any validation or permissions. The phrase 'exact payloads' hints at precision but fails to explain what happens on conflict or partial failure. This is a significant gap for a mutating tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is exactly two sentences with no filler. The first sentence front-loads the core action, and the second provides usage context. Every word earns its place, and it is optimally sized for a simple tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides a clear purpose and when-to-use guidance. The input schema covers all parameter semantics, and there is no output schema needing explanation. For a straightforward add-with-relations tool, this is nearly complete. The only missing piece is behavioral context (e.g., idempotency, conflict handling), which would elevate it to 5.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents tableName, documents, id, fields, and relations. The description adds contextual meaning by specifying 'exact' payloads and 'when rows include relations,' which helps interpret the parameters, but it does not add new parameter-level details beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states 'Add exact Seed document payloads to a table,' which clearly identifies the verb (Add), the resource (Seed document payloads), and the target (a table). It also distinguishes itself from siblings by highlighting 'exact' payloads and the presence of relations, setting it apart from seed_add_mock_data and other tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence, 'Use this when rows include relations,' provides explicit when-to-use guidance. It implies an alternative (likely seed_add_mock_data for mock data) without naming it explicitly, but the context signal from sibling tools makes the distinction clear. A slight improvement would be naming the alternative, but the guidance is functional.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seed_add_mock_dataA
Add simple mock rows to a Seed table. Each row is treated as field values only; use seed_add_documents for relations.
| Name | Required | Description | Default |
|---|---|---|---|
| rows | Yes | Mock rows keyed by field name. | |
| tableName | Yes | Table to insert into. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It reveals a key behavioral trait: 'Each row is treated as field values only,' which prevents misuse with relational data. However, it does not disclose other behavioral aspects such as whether the operation validates against schema, how it handles errors, or whether it overwrites existing data. For a simple mock data insertion, this is adequate but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, with the first sentence stating the primary purpose and the second providing a critical caveat and alternative. It is extremely concise, front-loaded with the action, and contains zero wasted words. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with only two parameters and no output schema, the description is largely complete. It covers the main behavior, the key constraint, and directs users to a related tool for a different use case. The only minor gap is not mentioning what the tool returns, but given the simplicity and the lack of an output schema, this is not a significant omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% since both parameters have descriptions. The description adds semantic value beyond the schema by clarifying that each row is treated as field values only, which directly informs how to structure the 'rows' parameter. This goes beyond the bare schema descriptions and helps the agent understand the intended format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's action: 'Add simple mock rows to a Seed table.' It specifies the resource (Seed table) and the content (simple mock rows), and explicitly distinguishes from sibling seed_add_documents by noting that this tool does not handle relations. This makes the purpose unambiguous and differentiated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear usage context: use this tool for adding simple mock rows, and explicitly directs users to 'use seed_add_documents for relations' as an alternative. This gives a clear when-to-use and when-not-to-use reference, though it does not mention other potential alternatives like seed_add_relationship, which would make it more comprehensive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seed_add_relationshipB
Add or replace a relationship on an existing Seed table.
| Name | Required | Description | Default |
|---|---|---|---|
| label | No | Human-readable relationship label. Defaults to relationName. | |
| relationName | Yes | Relationship key on the source table. | |
| relationType | Yes | Seed relationship type. | |
| sourceTableName | Yes | Existing table that will receive the relationship. | |
| targetTableName | Yes | Existing target table. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full behavioral burden. The inclusion of 'or replace' usefully discloses that existing relationships may be overwritten, which is important. However, it does not mention error conditions, permissions, or side effects on related data, leaving significant gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence that is front-loaded with the action and resource. It is minimal and every word earns its place, achieving high conciseness with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 5 parameters, no output schema, and no annotations, yet the description is extremely brief. It does not explain the 'replace' behavior in practical terms, prerequisites, or expected outcomes. The complete schema coverage helps with parameter semantics, but operational context is lacking, making this incomplete for an agent to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The tool description adds no parameter-specific meaning; it relies entirely on the input schema to explain each parameter. No extra value is provided beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action 'Add or replace a relationship' on an existing Seed table, identifying both the verb and resource. It distinguishes from sibling tools that handle tables, documents, and views, as none of the siblings mention relationships. However, it is terse and does not elaborate on relationship types or scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage context is only implied: the phrase 'on an existing Seed table' suggests this tool requires an already-created table, but there is no explicit 'when to use' or guidance on alternatives. No exclusions or when-not-to-use scenarios are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seed_create_frameA
Create a Seed frame on an existing table. Frames select table fields/relations and optional filters before creating views.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Machine name for the frame. | |
| label | No | Human-readable frame label. Defaults to the frame name. | |
| table | Yes | Source table name for the frame. | |
| fields | Yes | Fields from the source table to expose in the frame. | |
| relations | No | Relations from the source table to expose in the frame. | |
| description | No | Frame description. | |
| fieldOrderJson | No | Optional JSON field order metadata. | |
| fieldFiltersJson | No | Optional JSON field filters using Seed's Sequelize-style filter shape. | |
| relationFiltersJson | No | Optional JSON relation filters using Seed's Sequelize-style filter shape. For current-user scoping, dot-walk to a related users.email field and use ___current___, e.g. {"[Op.and]":[{"users_contacts_user.email":{"[Op.like]":"___current___"}}]}. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It mentions the tool is a create operation, but does not disclose side effects, required permissions, failure modes, or what the response contains. Given that this is a mutation tool with no output schema, more behavioral context is expected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences: the first states the action clearly, the second provides essential context about what a frame is. There is no wasted wording, and the most important information is front-loaded. Excellent conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with 9 parameters and a rich schema, the description is sufficient to understand the high-level purpose and workflow, especially with the 'before creating views' context. However, it does not mention the return value or error behavior, which is a gap given no output schema. Overall, it is complete enough for a create operation with a well-documented schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage for all 9 parameters, so the baseline is 3. The description adds a conceptual overview ('fields/relations and optional filters') that maps to the parameters, but does not provide new syntax or format details beyond the schema. Since the schema already documents parameters comprehensively, the description adds marginal value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action: 'Create a Seed frame on an existing table.' It also explains the purpose of frames ('select table fields/relations and optional filters before creating views'), which distinguishes it from sibling frame tools like seed_get_frame or seed_update_frame. The verb 'create' plus the resource 'frame' is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context: frames are created on existing tables and serve as a precursor to creating views. This implies when to use this tool (after table creation, before view creation). However, it does not explicitly mention alternatives or when not to use it. The workflow hint is useful, but exclusions are missing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seed_create_orgA
Create a Seed organization with optional organization metadata. Requires the configured Seed user to have create access.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Organization name. | |
| No | |||
| other | No | ||
| phone | No | ||
| state | No | Organization state. Defaults to Trial when omitted. | |
| address | No | ||
| contact | No | ||
| orgLogo | No | ||
| website | No | ||
| description | No | ||
| trialStartingDate | No | Trial start date, usually an ISO date string. | |
| finantialCardNumber | No | ||
| finantialCardHolderName | No | ||
| finantialCardSecurityCode | No | ||
| finantialCardExpirationDate | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It does disclose a permission requirement, which is useful context for agents, but it omits other behavioral traits such as return value, idempotency, or side effects. The disclosure is minimal but not absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences long, starts with the verb and resource, and contains no fluff. Every word contributes to the core action and the permission requirement, making it appropriately sized and well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of 15 parameters, no annotations, and no output schema, the description is too sparse. It lacks guidance on return values, success/failure responses, or how the optional metadata fields are used, leaving the agent underinformed for a non-trivial creation operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20%, and the description does not compensate for the many undocumented metadata fields. The phrase 'optional organization metadata' is vague and does not clarify meaning of parameters like 'finantialCardNumber' or 'orgLogo'. The schema already indicates only 'name' is required, so the description adds little parameter-specific value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Create') and the resource ('a Seed organization'), and adds context about optional organization metadata. This distinguishes it from other create_* tools such as seed_create_frame or seed_create_table, which target different resource types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies the tool is for creating organizations and specifies a prerequisite (create access), but it does not compare with alternatives like seed_register_org or indicate when to prefer this tool over similar ones. No exclusionary guidance is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seed_create_tableB
Create a Seed table with fields and optional relationships.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Machine name for the table. | |
| label | No | Human-readable table label. Defaults to the table name. | |
| fields | Yes | Fields to create on the table. | |
| relations | No | Relationships to create with the table. | |
| description | No | Table description. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only states the action without mentioning side effects, permission requirements, error behavior, or what the response contains—significant gaps for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no wasted words. It clearly communicates the action and key components in an efficient manner.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 5 parameters, no output schema, and no annotations. The description does not explain what the agent should expect after creation (e.g., return value, success/failure behavior), leaving a significant gap for an AI agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% parameter description coverage, so the baseline is 3. The description mentions 'fields' and 'optional relationships,' which maps to the schema's fields and relations properties, but adds no extra semantic detail beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's function: to create a Seed table, specifying that it includes fields and optional relationships. This distinguishes it from sibling creation tools like seed_create_frame or seed_create_org by explicitly naming the resource type.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given on when to use this tool versus alternatives, such as seed_add_relationship for existing tables or other create tools. The description implies usage for new table creation but lacks explicit context, preconditions, or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seed_create_viewB
Create a Seed view on an existing frame.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Machine name for the view. | |
| frame | Yes | Frame name this view renders. | |
| label | No | Human-readable view label. Defaults to the view name. | |
| layoutJson | Yes | View layout as JSON. Example: {"device":"web","group":"CRM","list":{"type":"default"}} | |
| description | No | View description. | |
| editRolesJson | No | Optional JSON array of roles allowed to edit this view. | |
| viewRolesJson | No | Optional JSON array of roles allowed to view this view. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It only mentions the target being an existing frame, providing minimal behavioral context. It does not disclose side effects, validation behavior, permission requirements, or response format, which is expected for a create operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence with no filler or redundancy. It effectively communicates the core purpose in minimal words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has 7 parameters, no output schema, and no annotations. The description is too sparse to fully contextualize the operation; it lacks information about return values, error conditions, or the relationship between the view and the frame beyond the prerequisite. While parameters are well-schema'd, the overall operational context is incomplete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 7 parameters. The description adds no parameter-level detail, but the baseline of 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (create), the resource (Seed view), and the target (existing frame), distinguishing it from siblings like seed_create_frame or seed_list_views. The verb+resource+scope is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'on an existing frame' implies a prerequisite and suggests when this tool is appropriate (when a frame already exists), but it does not explicitly state when not to use it or mention alternatives like seed_create_frame or seed_list_frames. Usage guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seed_delete_documentsA
Delete documents from a Seed table by id. Useful for cleaning up mock data.
| Name | Required | Description | Default |
|---|---|---|---|
| tableName | Yes | Table to delete from. | |
| documentIds | Yes | Document ids to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It states that documents are deleted but does not mention permanence, potential side effects, or permission requirements. For a destructive operation, this lack of cautionary information is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description consists of two sentences with no filler. The action and resource are stated first, followed by a relevant use case. It is concise, front-loaded, and every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter tool with full schema coverage, the description covers the basic purpose and a use case. However, the lack of behavioral transparency around the destructive nature of deletion makes it incomplete for a delete operation, especially without annotations to fill that gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already provides complete descriptions for both tableName and documentIds (100% coverage). The tool description adds no additional parameter semantics, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Delete' and clearly identifies the resource as 'documents from a Seed table by id'. This distinguishes it from sibling delete tools for frames, views, and orgs, and leaves no ambiguity about the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The phrase 'Useful for cleaning up mock data' provides a clear use case for when to use this tool. However, it does not explicitly mention when not to use it or name alternatives, so it falls just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seed_delete_framesA
Delete Seed frames by name.
| Name | Required | Description | Default |
|---|---|---|---|
| frameNames | Yes | Frame names to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It only states 'Delete' without disclosing irreversibility, permissions required, or potential side effects on related data, which is a significant gap for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One short, direct sentence—every word earns its place, and the core information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple tool with full schema coverage, the description is minimally viable, but it lacks any behavioral context about permanence or outcome, which is expected for a delete operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the property description already states 'Frame names to delete.' The description's 'by name' adds no new meaning; the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action (Delete), resource (Seed frames), and scope (by name), which directly distinguishes it from sibling delete tools for orgs and views.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for deleting frames, but provides no explicit guidance on when to use this tool versus alternatives like seed_delete_views or seed_update_frame, nor any prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seed_delete_orgA
Delete a Seed organization by name, including its organization database file when present. Requires delete access.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Organization name to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses a key side effect (deleting the organization database file) and a permission requirement, which is valuable. However, it does not mention whether the operation cascades to related data (e.g., frames, tables) or whether it is reversible, leaving behavioral gaps for a destructive operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the action, and every word adds value. It efficiently communicates the core function, side effect, and access requirement without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple delete tool with one parameter and no output schema, the description covers the action, side effect, and permission. However, it omits details about the return value, behavior if the organization does not exist, and potential cascading effects on related resources, which would make it more complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already fully describes the only parameter 'name' as 'Organization name to delete', giving 100% coverage. The description adds 'by name' but no extra semantic detail (e.g., case sensitivity, exact format), so it meets the baseline without exceeding it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Delete') and resource ('Seed organization'), and clarifies the scope by mentioning the organization database file. It clearly distinguishes from sibling tools like seed_delete_frames and seed_delete_views, which target other resources.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states a prerequisite ('Requires delete access') and implies the primary use case (deleting an org by name). It does not explicitly compare with alternatives, but since no other org-deletion sibling exists, this is clear enough context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seed_delete_viewsB
Delete Seed views by name.
| Name | Required | Description | Default |
|---|---|---|---|
| viewNames | Yes | View names to delete. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the burden of behavioral disclosure. It does not mention whether deletions are permanent, whether missing names cause errors, whether the operation is idempotent, or any side effects. The word 'Delete' implies mutation but does not elaborate on consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single short sentence that is immediately clear and front-loaded with the action. There is no wasted verbiage or redundant restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple 1-parameter delete operation with no output schema, the description is minimally adequate. However, it omits any mention of batch behavior (though implied by array schema) and does not address error cases or return values. Given the tool's low complexity, this is acceptable but not thorough.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the viewNames property has its own description). The tool description adds no additional semantic nuance beyond the schema, such as handling of duplicates or invalid names, so it earns the baseline score for adequate schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action ('Delete'), a clear resource ('Seed views'), and a scoping detail ('by name'). This clearly distinguishes it from sibling tools like seed_create_view, seed_update_view, and seed_list_views.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives, nor any prerequisites or exclusions. It is a bare statement of function with no contextual usage advice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seed_get_access_tokenA
Get a Seed API access token by prompting for credentials through the MCP client.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Token type to request. | user |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses a key behavioral trait: it prompts for credentials interactively via the MCP client. With no annotations, this is helpful, but it omits what happens on success/failure, token expiration, or whether the token is returned or cached. Basic transparency is present but not rich.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, front-loaded sentence with no fluff. It conveys the purpose and method efficiently.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool is simple (one optional param, no output schema) and the description covers the essential context: you get a token by prompting for credentials. It lacks explicit connection to sibling tools, but given the simplicity, it is sufficiently complete for selection and invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter 'type' is fully described in the input schema with an enum and default, so schema coverage is 100%. The description does not add extra meaning beyond the schema, warranting the baseline score of 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Get') and resource ('Seed API access token'), and clarifies the mechanism ('prompting for credentials through the MCP client'). It clearly distinguishes this auth-focused tool from the data-operation siblings listed.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied rather than explicit: the tool is for obtaining an API access token, which is presumably needed before using other Seed tools. However, the description does not state when to use it relative to alternatives or mention prerequisites like prior authentication.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seed_get_frameB
Get Seed metadata for one frame.
| Name | Required | Description | Default |
|---|---|---|---|
| frameName | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the burden of behavioral disclosure. 'Get' implies a read-only operation, but it does not disclose potential errors, authentication needs, or what 'metadata' includes. It is accurate but minimal.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single clear sentence with no unnecessary words. Perfectly concise and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple getter with one parameter and no output schema, the description is functional but leaves gaps: it does not state what the returned metadata contains or how errors are handled. It is minimally complete for a trivial operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the description does not explicitly describe the frameName parameter. The tool name and 'one frame' hint at it, but the description adds no meaning beyond what the schema property name implies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets Seed metadata for a specific frame, using a specific verb (Get) and resource (Seed metadata, one frame). It distinguishes from sibling tools like seed_list_frames (which lists frames) and seed_update_frame/seed_delete_frames.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is given about when to use this tool instead of alternatives. It does not mention that seed_list_frames should be used for listing or how this tool fits into a workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seed_get_tableC
Get Seed metadata for one table.
| Name | Required | Description | Default |
|---|---|---|---|
| tableName | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure, but it only says 'Get Seed metadata' without explaining return format, error handling, or whether the operation is read-only. This leaves the agent unaware of important behavioral traits beyond the obvious read intent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single concise sentence that front-loads the action ('Get') and is free of redundancy. It is appropriately short for the tool's simplicity, though it sacrifices detail.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the lack of output schema and annotations, the description is incomplete. It does not specify what 'metadata' includes, whether the operation requires any prerequisites, or what the response contains, which is essential for an agent to fully understand the tool's behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, and the description does not explain the tableName parameter beyond what the schema already defines. It adds no meaning about the parameter's format, accepted values, or how it is used to select the table.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it retrieves metadata for a single table, using the specific verb 'Get' and identifying the resource as 'Seed metadata' for 'one table'. This distinguishes it from sibling tools like seed_list_tables, which would handle multiple tables, though it does not explicitly name the alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives such as seed_list_tables or seed_get_frame. The singular 'one table' implies it is for a specific table, but no explicit when-to-use or when-not-to-use context is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seed_get_viewA
Get Seed metadata for one view.
| Name | Required | Description | Default |
|---|---|---|---|
| viewName | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. 'Get' implies a read-only operation, but the description does not explicitly state that no modifications are made, nor does it mention potential errors (e.g., view not found) or permission requirements. For a simple get, this is acceptable but not fully transparent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that is directly to the point. It is front-loaded with the verb and resource, and every word is necessary. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simplicity of the tool (one parameter, no output schema), the description is largely complete. It clearly indicates the purpose and the target object. However, it does not describe the return format or behavior in edge cases, which could be useful but is not essential for a basic get operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It refers to 'one view', which aligns with the single parameter viewName, but it does not explicitly explain that viewName is the identifier of the view to retrieve. The parameter name itself is self-explanatory, but the description adds only marginal meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Get') and the specific resource ('Seed metadata for one view'), distinguishing it from sibling tools like seed_list_views (which lists views) and seed_create_view/seed_update_view/seed_delete_views (which modify views).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The usage is implied: to retrieve metadata for a single view, one should use this tool. However, the description does not explicitly contrast it with alternatives or mention when not to use it. The clarity is sufficient for a simple get operation, but no explicit guidance or exclusions are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seed_grant_permissionA
Grant a role access to a Seed resource by creating a permissions row and linking it to the role. Access bitmask: create=1, read=2, update=4, delete=8, full CRUD=15.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Permission display name. Defaults to '<resourceId> Full CRUD'. | |
| access | No | Bitmask access value. Defaults to full CRUD (15). | |
| roleName | No | Role to receive the permission. | admin |
| resourceId | Yes | Resource/table id to grant access to, usually the table name. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains the core operation (creating a permissions row, linking it to a role) and provides the bitmask semantics. However, with no annotations, it carries the full burden and does not disclose whether the operation is idempotent, whether it replaces existing permissions, or whether the role must already exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the action, and every piece of information earns its place. No wasted words or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no annotations, the description delivers the core purpose, mechanism, and bitmask semantics. While it omits return values and edge-case behavior, the schema is thorough and the operation is straightforward, making it largely complete for an agent to invoke.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema covers all parameters (100%), but the description adds value by mapping the bitmask values (create=1, read=2, update=4, delete=8) for the 'access' parameter, which the schema only describes as 'Bitmask access value'. This goes beyond the schema's baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Grant') and resource ('Seed resource'), plus the mechanism ('creating a permissions row and linking it to the role'). This clearly distinguishes it from sibling tools, none of which deal with permissions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description clearly implies when to use the tool (to grant a role access to a resource), and the sibling list contains no alternative permission-granting tool. However, it does not explicitly state exclusions or alternatives, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seed_list_documentsA
List documents from a Seed table. Useful for finding record ids before creating related data.
| Name | Required | Description | Default |
|---|---|---|---|
| pageSize | No | ||
| orderJson | No | Optional JSON order array. | |
| tableName | Yes | Table to read documents from. | |
| pageNumber | No | ||
| filtersJson | No | Optional JSON filters using Seed's Sequelize-style filter shape. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It indicates a read operation with 'List' but does not explicitly state non-destructiveness, nor does it mention pagination or return behavior. It does hint at the response containing record ids.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, directly stating the function and a use case. It is front-loaded with the core action and contains no unnecessary words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 5 parameters and no output schema, the description gives the core purpose and use case but omits return format, pagination, and filter construction details. The schema partially covers parameters, but the description could be more complete for an agent to fully understand expected behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 60% (3 of 5 parameters have descriptions). The tool description adds little beyond the schema, only tying to 'Seed table' and record ids. pageSize and pageNumber have no descriptions and are not explained in the description, but defaults exist in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'List documents from a Seed table' which specifies the verb and resource, and the second sentence adds a concrete use case. It distinguishes from sibling tools like seed_list_frames and seed_list_views by focusing on documents from a table.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear usage context: 'Useful for finding record ids before creating related data.' This tells the agent when to use it, but it does not explicitly name alternatives or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seed_list_framesC
List Seed frame metadata from the configured organization.
| Name | Required | Description | Default |
|---|---|---|---|
| pageSize | No | ||
| pageNumber | No | ||
| filtersJson | No | Optional JSON filters using Seed's Sequelize-style filter shape. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It states that the tool lists metadata, implying a read-only operation, but it does not explicitly confirm this, nor does it mention pagination behavior, response structure, or any side effects. The description adds little beyond the basic action, leaving important behavioral traits undisclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, succinct sentence that immediately states the action and resource. It contains no redundant phrases or filler, making it highly concise and well-structured. It earns a perfect score for efficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool, the description covers the core purpose, and the absence of an output schema means it does not need to explain return values. However, given the pagination parameters and optional filtering, the description could have added context about how these are used or what 'metadata' entails. It is minimally viable but lacks depth to be fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only filtersJson has a description), which is below the 50% threshold. The tool description does not compensate by explaining pageSize or pageNumber, their purposes, or how filtersJson affects results. While pageSize and pageNumber are self-explanatory via names, the description adds no value beyond the schema, failing to bridge the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb (List), resource (Seed frame metadata), and scope (from the configured organization). It distinguishes the tool's purpose from related sibling tools like seed_get_frame or seed_delete_frames by using 'List' and 'metadata', though it does not explicitly name alternatives. Overall, it is clear and specific, but lacks explicit sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus alternatives. It does not mention prerequisites, scenarios where a different tool (e.g., seed_get_frame) would be more appropriate, or any exclusions. The only implied usage is from the tool name and description, which is minimal.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seed_list_orgsB
List registered Seed organizations. Requires SEED_MAINT_ACCESS_TOKEN or SEED_MAINT_PASSWORD.
| Name | Required | Description | Default |
|---|---|---|---|
| pageSize | No | ||
| pageNumber | No | ||
| filtersJson | No | Optional JSON string of backend organization filters. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden for behavioral disclosure. It discloses the required authentication method (token or password), which is useful context beyond the schema. However, it does not mention whether the operation is read-only, how pagination behaves, or what response format to expect, leaving gaps in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no wasted words; the main purpose is front-loaded and the auth requirement is clearly appended. It earns its length for a simple listing tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple list tool with three optional parameters, the description covers the core action and authentication. However, the absence of an output schema, low parameter documentation coverage, and lack of pagination/filter behavior details make it only minimally complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only filtersJson has a description), and the tool description adds no parameter-level meaning. pageSize and pageNumber have constraints but no explanatory text, and the description does not compensate for the low coverage by explaining pagination or filter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'List' with a clear resource ('registered Seed organizations'), and the tool name disambiguates it from sibling list tools for frames, tables, views, and documents. It clearly distinguishes a read operation from the create/update/delete sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states what the tool does and an auth prerequisite, but offers no guidance on when to prefer this over alternatives or when not to use it. No sibling tools are mentioned or contrasted, leaving usage context entirely implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seed_list_tablesA
List Seed table metadata from the configured organization.
| Name | Required | Description | Default |
|---|---|---|---|
| pageSize | No | ||
| pageNumber | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description must convey behavioral traits. 'List' implies a read-only operation, but the description does not disclose pagination behavior, return format, or any side effects. It adds minimal beyond the verb, though it does note the 'configured organization' context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence of eight words, with no filler or redundant information. Every word contributes to stating the tool's purpose, making it highly concise and appropriately sized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (two optional pagination parameters, no output schema), the description is arguably adequate but leaves ambiguous what 'table metadata' exactly includes and how pagination responses are structured. Additional context about the return payload or pagination behavior would improve completeness, but the current level is minimally viable.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate by explaining or at least referencing the pagination parameters (pageSize, pageNumber). It does neither, leaving the parameters to be inferred from the schema alone. While the parameter names are somewhat self-explanatory, the description adds no extra meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'List Seed table metadata from the configured organization' uses a specific verb ('List') and resource ('Seed table metadata'), clearly distinguishing this from siblings like seed_get_table (single table) and seed_list_frames (frames). The added context of 'configured organization' further clarifies scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The use case is implied by the name and description: a simple listing operation for tables. However, there is no explicit guidance on when to use this tool versus alternatives such as seed_get_table, nor any mention of exclusions or prerequisites.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seed_list_viewsB
List Seed view metadata from the configured organization.
| Name | Required | Description | Default |
|---|---|---|---|
| pageSize | No | ||
| pageNumber | No | ||
| filtersJson | No | Optional JSON filters using Seed's Sequelize-style filter shape. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are available, so the description must carry the burden of behavioral disclosure. It does state that the tool returns 'metadata' (implying a read-only operation, not destructive), which is useful. However, it does not disclose pagination behavior, response format, or any side effects, leaving notable gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, concise sentence that directly states the tool's purpose. Every word earns its place with no fluff or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given there is no output schema, the description should explain what the return value looks like, but it only says 'metadata' without specifying fields or structure. It also omits pagination details despite the schema having pageSize and pageNumber parameters. The description is too sparse to be fully complete for an agent invoking this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 33% (only filtersJson has a description). The description adds no meaning to pageSize, pageNumber, or filtersJson beyond what the schema already provides. Since coverage is below 50%, the description should compensate, but it does not.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('List') and the resource ('Seed view metadata'), scoped to 'the configured organization'. This distinguishes it from sibling tools like seed_list_frames and seed_list_tables by specifying 'view metadata' rather than view content.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. There is no mention of seed_get_view for retrieving a single view or seed_list_frames for frames, and no exclusion criteria. The description only states the basic action without context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seed_register_orgB
Register a new Seed organization with backend defaults. This calls the public organization register endpoint.
| Name | Required | Description | Default |
|---|---|---|---|
| orgName | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It only reveals that it calls a public endpoint, but does not mention prerequisites, side effects (e.g., duplicate orgName handling), idempotency, permissions, or response details. For a registration operation, more transparency is expected.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the primary purpose, and contains no redundant or tangential information. Every word contributes to understanding the tool's function.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (1 parameter, no output schema), the description is still incomplete. It does not mention what the response looks like, whether the operation is idempotent, or any error conditions. The lack of an output schema puts the burden on the description to clarify expected outcomes, which it fails to do.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has only one parameter (`orgName`) with no description coverage (0%). The description does not add any semantic detail beyond the parameter name, such as uniqueness requirements, allowed characters, or relationship to existing orgs. The name `orgName` is self-explanatory, but the description doesn't compensate for the schema's lack of detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('Register a new Seed organization') and specifies a distinguishing detail: 'with backend defaults' and 'calls the public organization register endpoint.' This differentiates it from the sibling tool `seed_create_org` by referencing the public endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not provide any when-to-use guidance or explicitly contrast with alternatives. It mentions the public endpoint, which implies a specific use case, but there is no direct statement about when to use this tool versus `seed_create_org` or other org-related tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seed_update_frameB
Update Seed frame metadata by frame name.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Machine name for the frame. | |
| label | No | Human-readable frame label. Defaults to the frame name. | |
| table | Yes | Source table name for the frame. | |
| fields | Yes | Fields from the source table to expose in the frame. | |
| relations | No | Relations from the source table to expose in the frame. | |
| description | No | Frame description. | |
| fieldOrderJson | No | Optional JSON field order metadata. | |
| fieldFiltersJson | No | Optional JSON field filters using Seed's Sequelize-style filter shape. | |
| relationFiltersJson | No | Optional JSON relation filters using Seed's Sequelize-style filter shape. For current-user scoping, dot-walk to a related users.email field and use ___current___, e.g. {"[Op.and]":[{"users_contacts_user.email":{"[Op.like]":"___current___"}}]}. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states that metadata is updated by frame name but does not explain whether updates are partial or full replacements, how relations are handled, whether the operation is idempotent, or any side effects such as overwriting existing data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, clear sentence with no wasted words. It is concise and front-loaded, but it is so brief that it sacrifices behavioral context. Still, it earns its place as a succinct purpose statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity of an update operation with 9 parameters, no annotations, and no output schema, the description is severely incomplete. It does not mention what happens to unspecified fields, whether the update merges or replaces, which parameters are required for an update, or what the response contains, leaving a significant gap for safe invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema provides detailed descriptions for all 9 parameters, covering 100% of them, so the schema itself fully documents parameter semantics. The description adds no additional parameter meaning, but per the rubric, baseline 3 is appropriate when schema coverage is high.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Update') and resource ('Seed frame metadata') with a clear scope ('by frame name'), which immediately distinguishes it from sibling tools like seed_create_frame, seed_get_frame, and seed_delete_frames. Even without a title, the purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives (e.g., use seed_create_frame for new frames) or any exclusions or prerequisites. The agent must infer usage from the name and sibling context, which is insufficient for informed selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seed_update_orgC
Update Seed organization metadata by organization name. Requires the configured Seed user to have update access.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Organization name. | |
| No | |||
| other | No | ||
| phone | No | ||
| state | No | Organization state. Defaults to Trial when omitted. | |
| address | No | ||
| contact | No | ||
| orgLogo | No | ||
| website | No | ||
| description | No | ||
| trialStartingDate | No | Trial start date, usually an ISO date string. | |
| finantialCardNumber | No | ||
| finantialCardHolderName | No | ||
| finantialCardSecurityCode | No | ||
| finantialCardExpirationDate | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description must carry the full burden. It discloses that update access is required, but gives no information about side effects (e.g., what fields are overwritten), error behavior (e.g., if org not found), or the fact that sensitive financial fields are accepted. The description adds minimal transparency beyond the permission prerequisite.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with two short sentences that front-load the purpose. There is no unnecessary fluff, but it is too terse to fully serve the tool's purpose. Nonetheless, for what it contains, it is well-structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has 15 parameters, no output schema, and no annotations, the description is severely incomplete. It does not explain what the update returns, how missing fields are handled, or that sensitive payment card information is involved. It is barely sufficient for a tool of this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 20%, so the description must compensate. It clarifies that 'name' is the organization name key, but the other 14 parameters (including financial card details) are left entirely unexplained. The description adds little semantic meaning beyond the schema's sparse descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool updates Seed organization metadata, using a specific verb ('Update') and resource ('Seed organization'). It also mentions the lookup key ('organization name'), which differentiates it from sibling tools like seed_create_org, seed_delete_org, and other update_* tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage for updating existing org metadata but provides no explicit guidance on when to use this tool versus alternatives. It only notes a permission requirement, not when to invoke the tool or when not to.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
seed_update_viewB
Update Seed view metadata by view name.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Machine name for the view. | |
| frame | Yes | Frame name this view renders. | |
| label | No | Human-readable view label. Defaults to the view name. | |
| layoutJson | Yes | View layout as JSON. Example: {"device":"web","group":"CRM","list":{"type":"default"}} | |
| description | No | View description. | |
| editRolesJson | No | Optional JSON array of roles allowed to edit this view. | |
| viewRolesJson | No | Optional JSON array of roles allowed to view this view. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden of behavioral disclosure. It fails to state whether the update is a partial or full replacement, whether the view must exist, or any side effects. This is a significant gap for a mutation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, tightly worded sentence with no filler. Every word contributes to conveying the tool's purpose, making it appropriately concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The full schema and required fields partially compensate for the terse description, but the lack of usage guidance and behavioral details makes the description minimally viable rather than fully complete. It is adequate for simple CRUD but leaves gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all parameter meanings are already documented in the input schema. The description adds no parameter-specific details beyond identifying 'name' as the update key, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Update' with a clear resource 'Seed view metadata' and an identification method 'by view name'. It distinguishes this from sibling tools like seed_create_view and seed_update_frame.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It does not mention that the view must already exist, nor does it point to seed_create_view for new views. The usage is only implied by the verb 'Update'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
25 tool updates
v0.1.0- First observed
seed_add_documents - First observed
seed_add_mock_data - First observed
seed_add_relationship - First observed
seed_create_frame - First observed
seed_create_org - First observed
seed_create_table - First observed
seed_create_view - First observed
seed_delete_documents - First observed
seed_delete_frames - First observed
seed_delete_org - First observed
seed_delete_views - First observed
seed_get_access_token - First observed
seed_get_frame - First observed
seed_get_table - First observed
seed_get_view - First observed
seed_grant_permission - First observed
seed_list_documents - First observed
seed_list_frames - First observed
seed_list_orgs - First observed
seed_list_tables - First observed
seed_list_views - First observed
seed_register_org - First observed
seed_update_frame - First observed
seed_update_org - First observed
seed_update_view
TDQS
Most tools are clearly distinct by resource and action, but there is some overlap between seed_register_org and seed_create_org, as well as between seed_add_documents and seed_add_mock_data. The descriptions help differentiate them, but an agent could still confuse the subtly different purposes.
All tools follow a consistent seed_<verb>_<noun> snake_case pattern. The verbs are predictable (list, get, create, update, delete, add) and the nouns correspond to resources. Minor pluralization differences (e.g., delete_frames vs delete_org) do not break the overall pattern.
With 25 tools, the server is at the upper boundary of the typical range, but the count is justified by covering multiple resources (orgs, tables, frames, views, documents, permissions). A few tools could be consolidated without loss of clarity, but the scope is still reasonable.
The tool surface has notable gaps: tables lack update and delete operations, documents lack update and get-by-id, and permissions only support grant without revoke. While the core workflows for frames and views are fully covered, these missing operations will require workarounds and may cause agent failures in common scenarios.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Read, create, update and delete records; inspect objects, fields and schema in your Knack database.
Query your Google Sheets as structured JSON: list sheets and tabs, read schemas, filter rows.
List reverse-ETL sources, destinations, models, syncs and runs; trigger syncs into SaaS tools.
Access SEC filings, insider transactions, and financial data via the ShareSEER API.
Related MCP Servers
- FlicenseBqualityBmaintenanceEnables interaction with the AppFlowy Cloud API to manage workspaces, databases, and row operations. It provides tools for authentication, resource discovery, and full row manipulation including creation and upserts.94-
- FlicenseNot gradedqualityBmaintenanceEnables interaction with Airtable bases and tables, allowing schema inspection and record CRUD operations using DAuth authentication.-
- FlicenseNot gradedqualityDmaintenanceProvides tools to interact with the Attio API, enabling management of resources in an Attio workspace.5-
- FlicenseNot gradedqualityDmaintenanceEnables reading and writing to Tableau Server or Tableau Cloud via the REST API, supporting operations on sites, projects, workbooks, views, and data sources.4-
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/burgeonbot/seed-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server