AITable MCP Server
OfficialThe AITable MCP Server enables LLMs to interact with AITable.ai for data management operations, including:
List Spaces: Fetch all workspaces accessible to the authenticated user
Search Nodes: Retrieve nodes (datasheets, forms, dashboards, folders) based on types, permissions, and queries
List Records: Read records from datasheets with pagination, filtering, and sorting options
Get Fields Schema: Obtain JSON schema of fields to understand data structure
Create Records: Add new records to datasheets with user-provided data
Upload Attachments: Upload files via URLs and associate them with records
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., "@AITable MCP Serverlist the records from my project tasks database"
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.
AITable MCP Server
A Model Context Protocol server that provides read and write access to AITable.ai. This server enables LLMs to list spaces, search nodes, list records, create records and upload attachments in AITable.ai.
Tools
Tool Name | Availabe | Description |
list_spaces | ✅ | Fetches all workspaces that the currently authenticated user has permission to access. |
search_nodes | ✅ | Retrieve nodes based on specific types, permissions, and queries. |
list_records | ✅ | Read the records from a specified database with support for pagination, field filtering, and sorting options. |
get_fields_schema | ✅ | Returns the JSON schema of all fields within the specified database |
create_record | ✅ | Create a new record in the database. |
upload_attachment_via_url | ✅ | Upload an attachment to the AITable server using its web URL. |
update_record | ❌ | TODO |
Related MCP server: MCP Boilerplate
Environment Variables
AITABLE_API_KEY: Your AITable personal access token.AITABLE_BASE_URL: The base URL of the AITable API. Defaults tohttps://aitable.ai/fusion. You can set it to{YOUR_CUSTOM_BASE_URL}if you are using the APITable(the open-source version of AITable).
Usage
You can use this server in MCP client such as Claude Desktop, CherryStudio, etc.
Claude Desktop
In the case of Claude Desktop, you need to add the following configuration information to the "mcpServers" section of the claude_desktop_config.json file:
For Linux, MacOS:
{
"mcpServers": {
"aitable": {
"command": "npx",
"args": [
"-y",
"/ABSOLUTE/PATH/TO/PARENT/FOLDER/aitable-mcp-server"
],
"env": {
"AITABLE_API_KEY": "YOUR_API_KEY"
}
}
}
}For Windows:
{
"mcpServers": {
"aitable": {
"command": "npx",
"args": [
"-y",
"D:\\ABSOLUTE\\PATH\\TO\\PARENT\\FOLDER\\aitable-mcp-server"
],
"env": {
"AITABLE_API_KEY": "YOUR_API_KEY"
}
}
}
}Replace YOUR_API_KEY with your AITable personal access token and /ABSOLUTE/PATH/TO/PARENT/FOLDER/aitable-mcp-server with the absolute path to the parent folder of this repository.
CherryStudio If you are using the CherryStudio as MCP client and Windows system, your configuration should look like this:
{
"mcpServers": {
"aitable": {
"command": "cmd",
"args": [
"/c",
"npx",
"-y",
"D:\\ABSOLUTE\\PATH\\TO\\PARENT\\FOLDER\\aitable-mcp-server"
],
"env": {
"AITABLE_API_KEY": "YOUR_API_KEY"
}
}
}
}Debug
The MCP inspector is a developer tool for testing and debugging MCP servers.
To inspect an MCP server implementation, there's no need to clone the MCP inspector repo. Instead, use npx. For example, AITable MCP server is built at dist/index.js. Arguments are passed directly to your server, while environment variables can be set using the -e flag:
npx @modelcontextprotocol/inspector -e AITABLE_API_KEY={YOUR_API_KEY} node build/index.jsThe other way is to clone the MCP inspector repo and connect the AITable MCP server in the inspector interface.
cd path/to/inspector/
npm start -- -e AITABLE_API_KEY={YOUR_API_KEY}Available Tools
6 toolscreate_recordC
Create a new record in the datasheet. Extract key information from user-provided text based on a predefined Fields JSON Schema and create a new record in the datasheet as a JSON object.
| Name | Required | Description | Default |
|---|---|---|---|
| attachments_fields | No | A JSON object containing Attachment type field data. Keys represent field names and values are arrays of attachment objects. The structure of attachment objects must conform to the Fields JSON Schema provided by the "get_fields_schema" tool. You need to use the "upload_file_via_url" tool to obtain the attachment objects. | |
| fields | Yes | A JSON object containing non-Attachment type field data. Keys represent field names and values represent field values. Omit unspecified fields in the API request. The structure of field values must conform to the Fields JSON Schema provided by the "get_fields_schema" tool. | |
| node_id | Yes | The ID of the datasheet where the new record will be created. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden. It states this is a creation operation (implying mutation) but doesn't disclose behavioral traits like required permissions, whether the operation is idempotent, error conditions, rate limits, or what happens on success/failure. The mention of 'Extract key information from user-provided text' adds some context about input processing, but overall behavioral disclosure is minimal 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 appropriately concise (two sentences) and front-loaded with the core purpose. Both sentences add value: the first states the action and resource, the second provides implementation context. No redundant information or unnecessary elaboration is present.
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 mutation tool with 3 parameters (including complex nested objects), no annotations, and no output schema, the description is insufficient. It doesn't explain what happens after creation (e.g., returns record ID, success status), error handling, or important behavioral constraints. The schema handles parameter documentation well, but the description fails to compensate for the lack of annotations and output information.
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 parameters are well-documented in the schema. The description adds minimal value beyond the schema: it mentions 'Extract key information from user-provided text' which loosely relates to the 'fields' parameter, and references 'get_fields_schema' for structure. However, it doesn't explain parameter interactions or provide additional semantic context beyond what's already in the schema 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 action ('Create a new record') and resource ('in the datasheet'), with additional context about extracting information from user text. It distinguishes from siblings like 'list_records' by specifying creation rather than retrieval. However, it doesn't explicitly differentiate from potential similar creation tools (though none are 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?
The description mentions using 'get_fields_schema' for structure and 'upload_file_via_url' for attachments, providing some implementation guidance. However, it lacks explicit when-to-use criteria, prerequisites, or comparisons to alternatives like 'upload_attachment_via_url' for attachment handling. No guidance on when NOT to use this tool is provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fields_schemaB
Returns the JSON schema of all fields within the specified database, This schema will be sent to LLM to help the AI understand the expected structure of the data.
| Name | Required | Description | Default |
|---|---|---|---|
| node_id | Yes | The ID of the database to fetch records from. |
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 discloses that the tool returns a JSON schema and its purpose for LLM understanding, which is useful behavioral context. However, it does not mention potential side effects, error conditions, or performance aspects (e.g., if it's a read-only operation, though implied by 'Returns'), leaving gaps in behavioral traits.
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 sentences that directly state the tool's function and its intended use. It is front-loaded with the core purpose, and the second sentence adds value by explaining the context for LLM integration. There is minimal waste, though it could be slightly more structured for clarity.
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 complexity is low (single parameter, no output schema), the description is somewhat complete by explaining the return type and purpose. However, it lacks details on output format, error handling, or integration with sibling tools, which could enhance completeness. Without annotations or output schema, it provides basic but not thorough contextual coverage.
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% description coverage, with 'node_id' documented as 'The ID of the database to fetch records from.' The description adds no additional parameter details beyond this, such as format examples or constraints. Since schema coverage is high, the baseline score of 3 is appropriate, as the description does not compensate but also does not detract.
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 purpose: 'Returns the JSON schema of all fields within the specified database.' It specifies the verb ('Returns') and resource ('JSON schema of all fields'), making the function evident. However, it does not explicitly differentiate from sibling tools like 'search_nodes' or 'list_spaces', which might also involve database interactions, so it misses full sibling distinction.
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 by stating the schema 'will be sent to LLM to help the AI understand the expected structure of the data,' suggesting it's for data structure comprehension. However, it lacks explicit guidance on when to use this tool versus alternatives (e.g., 'list_records' for actual data or 'search_nodes' for node details), and does not mention prerequisites or exclusions, leaving usage context somewhat vague.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_recordsC
Read the records from a specified datasheet with support for pagination, field filtering, and sorting options.
| Name | Required | Description | Default |
|---|---|---|---|
| fields | No | The returned record results are limited to the specified fields by name. Multiple fields should be separated by commas without spaces (e.g. 'field1,field2,field3'). | |
| filterByFormula | No | Filter the records by a formula. The formula should be in the format accepted by AITable, this is useful for filtering records based on specific criteria. e.g. '{field1}="value1"' or 'AND({field1}="value1", {field2}="value2")'. | |
| node_id | Yes | The ID of the datasheet to fetch records from. | |
| pageNum | No | Specifies the page number of the page, which is used in conjunction with the pageSize parameter. | |
| pageSize | No | How many records are returned per page. | |
| sort | No | Sort the returned records. | |
| viewId | No | When the viewId is explicitly specified, all records in the specified view will be returned in turn according to the sorting in the specified view. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden but only states it's a read operation. It doesn't disclose authentication requirements, rate limits, error conditions, pagination behavior beyond mentioning support, or what happens with invalid inputs. For a 7-parameter tool with complex filtering/sorting capabilities, this leaves significant behavioral 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, efficient sentence that front-loads the core purpose. It wastes no words but could be slightly more structured by separating core function from capabilities. Every element earns its place, though it's somewhat dense for quick scanning.
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 complex read tool with 7 parameters, no annotations, and no output schema, the description is inadequate. It doesn't explain return format, error handling, authentication needs, or practical usage patterns. The agent must rely entirely on the input schema and trial-and-error to understand this tool's full behavior and limitations.
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 all 7 parameters. The description adds minimal value beyond confirming pagination, filtering, and sorting capabilities - which are already evident from parameter names. It doesn't provide additional context about parameter interactions or usage patterns beyond what's in the schema 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's purpose as 'Read the records from a specified datasheet' with specific capabilities (pagination, field filtering, sorting). It distinguishes from siblings like 'create_record' (write vs read) and 'get_fields_schema' (metadata vs data), but doesn't explicitly differentiate from 'search_nodes' which might overlap in data retrieval functions.
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 like 'search_nodes' or 'create_record'. It mentions capabilities but doesn't specify scenarios, prerequisites, or exclusions. The agent must infer usage from the tool name and parameter set alone.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_spacesB
Fetches all workspaces that the currently authenticated user has permission to access.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
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 the tool fetches data, implying a read-only operation, but does not specify details like pagination, rate limits, authentication requirements beyond 'currently authenticated user', or error handling. This leaves significant gaps in understanding how the tool behaves in practice.
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 that efficiently conveys the core functionality without unnecessary details. It is front-loaded with the main action and resource, making it easy to parse and understand quickly, with zero wasted 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?
Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is adequate but minimal. It covers the basic purpose but lacks depth on behavioral aspects like return format or error cases. For a read operation with no structured metadata, more context on output or usage scenarios would enhance completeness.
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 0 parameters with 100% coverage, meaning no parameters are documented in the schema. The description adds value by clarifying that no inputs are needed, as it fetches based on the user's permissions. This compensates well for the lack of parameters, though it could briefly mention any implicit assumptions.
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 ('fetches') and resource ('workspaces'), specifying that it retrieves all workspaces accessible to the authenticated user. However, it does not differentiate from potential sibling tools like 'search_nodes' or 'list_records', which might also retrieve workspace-related data, leaving some ambiguity about uniqueness.
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 when needing to access permitted workspaces but provides no explicit guidance on when to use this tool versus alternatives like 'search_nodes' or 'list_records'. It lacks context on prerequisites, exclusions, or comparisons with sibling tools, offering minimal directional help.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_nodesC
Retrieve nodes based on specific types, permissions, and queries. Nodes in AITable can be of several types: datasheets (also known as sheets, or spreadsheets), form, dashboard, and folders.
| Name | Required | Description | Default |
|---|---|---|---|
| node_type | Yes | Filter the node list to only include nodes of the specified type. Common types include: "Datasheet", "Form", "Automation", "Folder", "Mirror" | |
| query | No | A search query to filter nodes by name. If not specified, all nodes will be returned. | |
| space_id | Yes | The ID of the workspace to fetch nodes from. |
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 retrieving nodes based on types, permissions, and queries, but fails to detail critical behaviors: it doesn't specify if this is a read-only operation, what permissions are required, how results are returned (e.g., pagination, format), or any rate limits. The mention of 'permissions' is vague without elaboration, leaving significant gaps in understanding the tool's behavior.
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 appropriately sized and front-loaded, starting with the core purpose in the first sentence. The second sentence adds context about node types without redundancy. There's no wasted text, and it efficiently conveys key information in two sentences, making it easy to scan and understand.
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 a search tool with 3 parameters, no annotations, and no output schema, the description is incomplete. It lacks details on behavioral aspects (e.g., read-only nature, permissions, result format), usage guidelines, and output expectations. While it covers basic purpose and parameter context, it doesn't compensate for the missing structured data, leaving the agent with insufficient information for reliable tool 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?
Schema description coverage is 100%, so the schema already documents all three parameters (node_type, query, space_id) with clear descriptions. The description adds minimal value beyond the schema: it lists node types (datasheets, form, dashboard, folders) which partially overlaps with the schema's 'node_type' description, but doesn't provide additional syntax, format details, or usage examples. This meets the baseline for high 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 clearly states the tool's purpose: 'Retrieve nodes based on specific types, permissions, and queries' with a specific verb ('Retrieve') and resource ('nodes'). It distinguishes itself from siblings like 'list_spaces' or 'list_records' by focusing on node retrieval with filtering. However, it doesn't explicitly differentiate from 'get_fields_schema' or 'create_record' in terms of search vs. creation operations.
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 mentions filtering by types and queries but doesn't specify scenarios, prerequisites, or exclusions. For example, it doesn't clarify if this should be used over 'list_spaces' for workspace-level operations or how it relates to 'list_records' for data retrieval. This lack of context leaves usage ambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
upload_attachment_via_urlA
Upload an attachment to the AITable server using its web URL. Returns storage information that can be passed to create_record or update_record tools to associate with a specific records.
| Name | Required | Description | Default |
|---|---|---|---|
| attachment_name | No | Optional custom name for the attachment after upload. | |
| attachment_url | Yes | The complete web URL of the file to be uploaded. | |
| node_id | Yes | The ID of the datasheet where the attachment will be attached after upload. |
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 discloses that the tool performs an upload (implying a write operation) and returns storage information, but lacks details on permissions required, rate limits, error conditions, or what happens if the URL is invalid. For a mutation tool with zero annotation coverage, this is a moderate 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 is appropriately sized with two sentences that are front-loaded and efficient. The first sentence states the purpose, and the second explains the return value and usage context, with zero wasted 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?
Given the tool's complexity (a mutation with 3 parameters), no annotations, and no output schema, the description is moderately complete. It covers the purpose and usage context but lacks details on behavioral aspects like authentication needs, error handling, or return format specifics, which are important for a tool with no structured output.
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 three parameters (attachment_name, attachment_url, node_id) with clear descriptions. The description adds no additional parameter semantics beyond what the schema provides, such as format examples or constraints, meeting 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 clearly states the specific action ('Upload an attachment') and resource ('to the AITable server using its web URL'), distinguishing it from sibling tools like create_record or update_record. It explicitly mentions the upload mechanism (via URL) and the purpose (to get storage information for record association).
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 context by stating that the tool returns storage information that can be passed to create_record or update_record tools, indicating when to use it (as a precursor to those operations). However, it doesn't explicitly state when NOT to use it or mention alternatives for attachment handling, such as direct file uploads if available.
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.
6 tool updates
v1.0.0- First observed
create_record - First observed
get_fields_schema - First observed
list_records - First observed
list_spaces - First observed
search_nodes - First observed
upload_attachment_via_url
TDQS
Each tool has a clearly distinct purpose with no overlap: create_record (create), get_fields_schema (metadata), list_records (read), list_spaces (workspace access), search_nodes (search), and upload_attachment_via_url (attachment handling). The descriptions reinforce unique functions, preventing agent misselection.
All tools follow a consistent verb_noun or verb_noun_preposition pattern (e.g., create_record, get_fields_schema, list_records, list_spaces, search_nodes, upload_attachment_via_url). The naming is uniform and predictable, using snake_case throughout without any deviations.
With 6 tools, this server is well-scoped for managing AITable resources. The count covers essential operations (CRUD-like actions, metadata retrieval, search, and attachment handling) without being overly sparse or bloated, fitting typical server purposes.
The tool set provides strong coverage for core AITable operations, including create, read, search, and attachment management, with clear support for metadata and workspace access. A minor gap exists in update/delete operations for records, which agents might need to work around, but the surface is largely complete for the domain.
Maintenance
Related MCP Connectors
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Connect AI agents to Replynodes over the Model Context Protocol.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that allows AI agents to interact with Apache DolphinScheduler through a standardized protocol, enabling AI-driven workflow management.28Apache 2.0
- AlicenseNot gradedqualityDmaintenanceA server that implements the Model Context Protocol, providing a standardized way to connect AI models to different data sources and tools.1511MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables AI agents to create, read, and modify Excel workbooks without requiring Microsoft Excel installation.MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that provides seamless integration with Mingdao platform APIs, enabling AI applications to perform operations like worksheet management, record manipulation, and role management through natural language.28MIT
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/apitable/aitable-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server