Skip to main content
Glama
knmurphy

Glide API MCP Server

by knmurphy

Servidor MCP de API de Glide

Un servidor de protocolo de contexto de modelo para interactuar con la API de Glide (v1 y v2).

Características

  • Compatibilidad con Glide API v1 y v2

  • Manejo seguro de claves API a través de variables de entorno

  • Implementación de TypeScript con seguridad de tipos

  • Manejo integral de errores

Related MCP server: Placid MCP Server

Herramientas disponibles

  • set_api_version : Configurar la versión de la API y la autenticación

  • get_app : Obtener información de la aplicación

  • get_tables : Lista las tablas de la aplicación

  • get_table_rows : Obtener datos de la tabla

  • add_table_row : Agregar nueva fila

  • update_table_row : Actualizar la fila existente

Configuración segura

1. Variables de entorno

El servidor admite una configuración segura mediante variables de entorno en el archivo de configuración de MCP. Agregue sus credenciales de API al archivo de configuración de MCP:

{
  "mcpServers": {
    "glide-api": {
      "command": "node",
      "args": ["path/to/build/index.js"],
      "env": {
        "GLIDE_API_KEY": "your-api-key-here",
        "GLIDE_API_VERSION": "v2"  // or "v1" for v1 API
      }
    }
  }
}

Este enfoque mantiene su clave API segura mediante lo siguiente:

  • Almacenarlo en un archivo de configuración en lugar de en el código

  • Manteniéndolo fuera del control de versiones

  • Facilitando la actualización sin modificar el código

2. Configuración del tiempo de ejecución

Si bien las variables de entorno son la forma recomendada de configurar el servidor, también puede establecer o anular la versión y la clave de la API en tiempo de ejecución utilizando la herramienta set_api_version :

use_mcp_tool({
  server_name: "glide-api",
  tool_name: "set_api_version",
  arguments: {
    version: "v2",
    apiKey: "your-api-key"
  }
});

Nota: La configuración del tiempo de ejecución anulará cualquier variable de entorno para la sesión actual.

3. Mejores prácticas de seguridad

  1. Nunca envíe claves API al control de versiones

  2. Utilice variables de entorno en el archivo de configuración de MCP

  3. Rote regularmente sus claves API

  4. Establezca los permisos de archivo adecuados en el archivo de configuración

Desarrollo

Instalar dependencias:

npm install

Construir el servidor:

npm run build

Para desarrollo con reconstrucción automática:

npm run watch

Ejemplos de uso

  1. Obtener información de la aplicación:

use_mcp_tool({
  server_name: "glide-api",
  tool_name: "get_app",
  arguments: {
    appId: "your-app-id"
  }
});
  1. Agregar una fila a una tabla:

use_mcp_tool({
  server_name: "glide-api",
  tool_name: "add_table_row",
  arguments: {
    appId: "your-app-id",
    tableId: "your-table-id",
    values: {
      column1: "value1",
      column2: "value2"
    }
  }
});

Available Tools

6 tools
add_table_rowC

Add a new row to a table in a Glide app

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesID of the Glide app
tableIdYesID of the table
valuesYesColumn values for the new row

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. While 'Add a new row' implies a write/mutation operation, it doesn't disclose important behavioral aspects like required permissions, whether the operation is idempotent, what happens on duplicate keys, error handling, or response format. The description provides minimal behavioral context beyond the basic action.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, clear sentence that efficiently communicates the core functionality without any wasted words. It's appropriately sized for a straightforward tool and gets directly to the point with no unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and no output schema, the description is insufficiently complete. It doesn't explain what happens after the row is added, what the response contains, error conditions, or how this operation relates to other table operations. Given the complexity of a write operation with nested objects in the values parameter, more context would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the input schema already documents all three parameters thoroughly. The description doesn't add any meaningful parameter semantics beyond what's in the schema - it mentions 'table' and 'Glide app' which map to parameters, but provides no additional context about parameter relationships, constraints, or usage patterns.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Add a new row') and target resource ('to a table in a Glide app'), making the purpose immediately understandable. However, it doesn't differentiate from sibling tools like 'update_table_row' or specify what distinguishes this 'add' operation from other table operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 'update_table_row' or 'get_table_rows'. There's no mention of prerequisites, error conditions, or typical use cases for adding rows versus other table operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_appC

Get information about a Glide app

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesID of the Glide app

TDQS

C2.7/5.0
Behavior2/5

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 the tool retrieves information (implying a read-only operation) but doesn't specify what type of information (e.g., metadata, configuration, status), whether it requires authentication, rate limits, error conditions, or response format. This leaves significant gaps for a tool with no annotation coverage.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence ('Get information about a Glide app') with zero waste. It's appropriately sized for a simple tool and front-loaded with the core purpose, making it easy to parse quickly.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (1 parameter, 100% schema coverage) but lack of annotations and output schema, the description is incomplete. It doesn't address what information is returned (e.g., app details, tables, settings), potential errors, or usage context. For a read operation with no structured output, more behavioral detail is needed to be fully helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds no parameter semantics beyond what the input schema provides. The schema has 100% coverage with a clear description for 'appId' ('ID of the Glide app'), so the baseline is 3. The tool description doesn't explain what constitutes a valid app ID, where to find it, or examples, but the schema adequately documents the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states the tool's purpose ('Get information about a Glide app') with a clear verb ('Get') and resource ('Glide app'), but it's vague about what specific information is retrieved. It doesn't distinguish from siblings like 'get_tables' or 'get_table_rows', which also retrieve information from Glide apps but target different resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 doesn't mention prerequisites (e.g., needing an app ID), exclusions, or comparisons to sibling tools like 'get_tables' (for app structure) or 'get_table_rows' (for data). Usage is implied only by the tool name and description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_table_rowsC

Get rows from a table in a Glide app

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesID of the Glide app
limitNoMaximum number of rows to return
offsetNoNumber of rows to skip
tableIdYesID of the table

TDQS

C2.9/5.0
Behavior2/5

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 reads data ('Get rows'), implying it's likely read-only, but doesn't confirm safety, permissions, rate limits, or response format. For a data retrieval tool with zero annotation coverage, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and appropriately sized for its function, earning full marks for conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (4 parameters, no output schema, no annotations), the description is inadequate. It doesn't explain return values (e.g., row format), error conditions, or how parameters interact (e.g., limit/offset for pagination). For a data retrieval tool, this leaves too much unspecified.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, so parameters are well-documented in the schema. The description adds no additional meaning beyond what the schema provides (e.g., no examples or context for appId/tableId). Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Get rows') and resource ('from a table in a Glide app'), making the purpose immediately understandable. However, it doesn't distinguish this tool from its sibling 'get_tables' (which likely lists tables rather than rows), so it misses full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 'get_tables' or 'add_table_row'. It lacks context about prerequisites (e.g., needing app/table IDs) or exclusions, leaving the agent to infer usage from the tool name alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_tablesC

Get tables for a Glide app

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesID of the Glide app

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden but adds minimal behavioral context. It implies a read operation ('Get') but doesn't disclose traits like authentication needs, rate limits, pagination, error handling, or what 'tables' includes (e.g., structure, counts). This leaves significant gaps for safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with no wasted words, making it appropriately concise. However, it lacks front-loading of critical details (e.g., scope or differentiation), slightly reducing its effectiveness despite the brevity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (1 parameter, no output schema) and lack of annotations, the description is incomplete. It doesn't explain what 'tables' entails (e.g., list of names, full metadata), return format, or error cases, leaving the agent with insufficient context for reliable use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema fully documents the single parameter 'appId'. The description adds no additional meaning beyond implying the parameter is used to identify the Glide app, which is already clear from the schema. Baseline 3 is appropriate as the schema handles parameter documentation.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description 'Get tables for a Glide app' states a clear verb ('Get') and resource ('tables'), but it's vague about scope and granularity. It doesn't distinguish from sibling tools like 'get_table_rows' or 'get_app', leaving ambiguity about what exactly is retrieved (e.g., metadata vs. data).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 doesn't mention prerequisites (e.g., needing an appId), exclusions, or comparisons to siblings like 'get_table_rows' (for row data) or 'get_app' (for app details), leaving the agent to infer usage context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

set_api_versionB

Set the Glide API version and authentication to use

ParametersJSON Schema
NameRequiredDescriptionDefault
apiKeyYesAPI key for authentication
versionYesAPI version to use

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It mentions authentication but doesn't specify whether this is a one-time configuration, if it persists across sessions, what happens if invalid credentials are provided, or any rate limits. For a configuration tool with security implications, this is insufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that gets straight to the point with zero wasted words. It's appropriately sized for a simple configuration tool and front-loads the essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a configuration tool with 2 parameters and 100% schema coverage, the description is minimally adequate but lacks important context. Without annotations or output schema, it should explain more about the behavioral implications (persistence, error handling) and relationship to sibling tools. The description alone doesn't provide complete operational understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 both parameters thoroughly. The description adds no additional meaning about parameters beyond what's in the schema (e.g., format requirements for apiKey, implications of choosing v1 vs v2). Baseline 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('Set') and the target resources ('Glide API version and authentication'), making the purpose understandable. However, it doesn't distinguish this tool from its siblings (which are all data manipulation tools), so it doesn't reach the highest score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 does it mention prerequisites like needing to set API version before other operations. It simply states what the tool does without contextual usage information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_table_rowC

Update an existing row in a table

ParametersJSON Schema
NameRequiredDescriptionDefault
appIdYesID of the Glide app
rowIdYesID of the row to update
tableIdYesID of the table
valuesYesNew column values for the row

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It states 'Update' implying mutation but lacks details on permissions, whether changes are reversible, error handling, or response format. For a mutation tool with zero annotation coverage, this is a significant gap in behavioral disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence with zero waste. It's appropriately sized and front-loaded, directly stating the core action without unnecessary elaboration.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given this is a mutation tool with no annotations, no output schema, and incomplete behavioral transparency, the description is inadequate. It should cover more about the update operation's effects, error cases, or response expectations to be complete for agent use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

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 4 parameters. The description adds no additional meaning beyond implying that 'values' maps to column updates, which is already clear from the schema. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Update') and resource ('an existing row in a table'), making the purpose unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'add_table_row' (create vs. update) or 'get_table_rows' (read vs. write), which prevents a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

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 doesn't mention prerequisites (e.g., needing row IDs from 'get_table_rows'), exclusions, or comparisons to siblings like 'add_table_row' for new rows or 'get_table_rows' for reading data.

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.

  1. 6 tool updatesv1.0.0
    • First observedadd_table_row
    • First observedget_app
    • First observedget_table_rows
    • First observedget_tables
    • First observedset_api_version
    • First observedupdate_table_row

TDQS

B3.4/5.0

Scored across 6 tools

Disambiguation5/5

Each tool has a clearly distinct purpose with no overlap: add_table_row and update_table_row handle row modifications, get_table_rows and get_tables retrieve data, get_app provides app metadata, and set_api_version manages configuration. The descriptions make it easy to differentiate between table-level and row-level operations.

Naming Consistency5/5

All tools follow a consistent verb_noun pattern with snake_case naming: add_table_row, get_app, get_table_rows, get_tables, set_api_version, update_table_row. The verbs (add, get, set, update) are appropriately chosen and applied consistently across the toolset.

Tool Count5/5

With 6 tools, this server is well-scoped for interacting with Glide apps and tables. The count is appropriate for the domain, covering essential CRUD operations (add, get, update for rows), metadata retrieval (app and tables), and configuration (API version), without being overwhelming or insufficient.

Completeness4/5

The toolset provides good coverage for core Glide operations: CRUD for table rows (add, get, update), app and table metadata retrieval, and API configuration. A minor gap is the lack of a delete_table_row tool, which could limit full lifecycle management, but agents can work around this with updates or other methods.

Related MCP Connectors

Related MCP Servers