Skip to main content
Glama

@stronger-ecommerce/gadget-mcp

Универсальный MCP-сервер с правами только на чтение для любого приложения Gadget. Запрашивайте любую модель через интроспекцию GraphQL — создание клиента не требуется.

Создано Stronger eCommerce.


Быстрая настройка (рекомендуется)

Запустите интерактивный мастер настройки из директории вашего проекта Gadget. Он автоматически определяет слаг вашего приложения из .gadget/sync.json и записывает конфигурацию.

npx @stronger-ecommerce/gadget-mcp setup

Мастер выполнит следующие действия:

  1. Определит слаг вашего приложения из .gadget/sync.json (если он есть)

  2. Запросит ваш API-ключ и окружение

  3. Выведет готовую команду claude mcp add для Claude Code

  4. Автоматически запишет ваш ~/.cursor/mcp.json для Cursor


Related MCP server: mcp-graphql-bridge

Ручная настройка

1. Получите API-ключ для продакшена

Перейдите по адресу https://<your-app>.gadget.app/edit/settings/api-keys и создайте ключ с доступом на чтение.

2. Регистрация в Claude Code

claude mcp add my-app-gadget \
  -e GADGET_APP=my-app \
  -e GADGET_API_KEY=your_key_here \
  -- npx @stronger-ecommerce/gadget-mcp

Регистрируйте несколько приложений под разными именами:

claude mcp add app-one-gadget \
  -e GADGET_APP=my-first-app \
  -e GADGET_API_KEY=key1 \
  -- npx @stronger-ecommerce/gadget-mcp

claude mcp add app-two-gadget \
  -e GADGET_APP=my-second-app \
  -e GADGET_API_KEY=key2 \
  -- npx @stronger-ecommerce/gadget-mcp

3. Регистрация в Cursor

Добавьте в ~/.cursor/mcp.json:

{
  "mcpServers": {
    "app-one-gadget": {
      "command": "npx",
      "args": ["@stronger-ecommerce/gadget-mcp"],
      "env": {
        "GADGET_APP": "my-first-app",
        "GADGET_API_KEY": "key1"
      }
    },
    "app-two-gadget": {
      "command": "npx",
      "args": ["@stronger-ecommerce/gadget-mcp"],
      "env": {
        "GADGET_APP": "my-second-app",
        "GADGET_API_KEY": "key2"
      }
    }
  }
}

Переменные окружения

Переменная

Обязательно

По умолчанию

Описание

GADGET_APP

Да

Слаг приложения, например my-app

GADGET_API_KEY

Да

API-ключ для продакшена

GADGET_ENVIRONMENT

Нет

production

production или development


Инструменты

Инструмент

Описание

list_models

Список всех моделей, доступных в приложении

introspect_model

Показать поля и типы для модели

query_records

Запрос к любой модели с фильтрами и выбором полей

get_record

Получить одну запись по ID

run_graphql

Выполнить произвольный GraphQL-запрос (мутации заблокированы)


Пример использования

После подключения спросите Claude:

  • "List the models in my Gadget app"

  • "Show me the fields on the shopifyOrder model"

  • "Find orders where email is customer@example.com"

  • "Get all records with errors"


Будущие функции

Идеи и заметки об исследованиях (включая логи / интеграцию ggt для агентов) находятся в FUTURE_FEATURES.md.


Участие в разработке

Сообщения об ошибках и пулл-реквесты приветствуются!

  • Нашли ошибку? Откройте issue

  • Есть исправление или новая функция? Сделайте форк репозитория, внесите изменения и откройте PR в ветку main

  • Для значительных изменений сначала откройте issue, чтобы мы могли согласовать подход

Локальный запуск

git clone https://github.com/Stronger-eCommerce/gadget-mcp
cd gadget-mcp
npm install
npm run build
npm test

О проекте

Сделано с ♥ компанией Stronger eCommerce — разработка на Shopify и eCommerce-операции.

Available Tools

9 tools
count_recordsA

Return the total number of records for a Gadget model, with optional filtering.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelYesModel name in singular camelCase, e.g. shopifyOrder, label
filterNoOptional filter to count only matching records. Use introspect_filters to discover valid filter shapes.

TDQS

A3.5/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Only states it returns a count; does not disclose return format (e.g., integer), side effects, permissions, or limitations like maximum count.

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?

Single sentence that is front-loaded and to the point. No wasted words.

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?

Lacks output schema and annotations; does not clarify return format or possible constraints. Adequate for a simple count but could be more complete.

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

Parameters4/5

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

Schema covers both parameters with descriptions (100% coverage). Description adds cross-reference to introspect_filters for filter shape, which is helpful beyond schema.

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

Purpose5/5

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

Describes exactly what the tool does: returns total number of records for a model, with optional filtering. Clearly distinct from sibling tools like get_record (single record) or query_records (list).

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 explicit guidance on when to use this tool versus alternatives (e.g., query_records for full records, get_record for single record). Agent must infer usage from description alone.

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

get_recordA

Get a single Gadget record by ID. Specify the model name, record ID, and fields to return.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelYesModel name in camelCase, e.g. shopifyOrder, label
idYesRecord ID
fieldsYesGraphQL field selection, e.g. "id name email createdAt"

TDQS

A3.7/5.0
Behavior3/5

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

No annotations are provided, so the description must disclose behavior. It indicates a read operation ('Get'), but does not mention idempotency, data limits, or error handling. The description is adequate for a simple read but lacks depth.

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 two sentences long with no extraneous words. Every sentence is useful, and the structure is focused.

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?

The tool has no output schema, so the description should hint at the return format. It does not. However, given it is a simple single-record getter, the description is minimally complete. It could mention that the response is a JSON object with the requested fields.

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?

All three parameters have descriptions in the schema (100% coverage), so the baseline is 3. The description merely restates the parameter names without adding new semantic information beyond what the schema provides.

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

Purpose5/5

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

The description clearly states the verb 'Get', the resource 'Gadget record', and the key parameters (model name, record ID, fields). It distinguishes itself from siblings like 'query_records' or 'list_models' by focusing on a single record retrieval.

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

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for fetching a single record by ID, which contrasts with listing or querying tools. However, it does not explicitly state when to use it versus alternatives like 'query_records', nor does it provide when-not conditions.

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

get_schema_overviewA

Return all models with their fields and types in a single call. Use this for a broad understanding of the app schema before diving into specific models.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

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

No annotations, but description transparently reveals the tool's output (all models with fields/types) and scope (single call). A simple read operation, well explained.

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?

Two concise sentences, front-loaded with purpose followed by usage guidance. No extraneous words.

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

Completeness5/5

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

For a zero-parameter tool returning schema overview, description fully covers purpose and usage. No missing details.

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

Parameters4/5

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

No parameters exist, so description adds no param info. Baseline 4 per guidelines for zero-param tools.

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

Purpose5/5

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

Description clearly states 'Return all models with their fields and types in a single call', specifying verb, resource, and scope. It distinguishes from siblings like 'introspect_model' (specific model) and 'list_models' (names only).

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

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Text advises using this for 'broad understanding before diving into specific models', providing context and implying alternatives. Explicit when-not or named alternatives would push to 5.

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

introspect_actionsA

List all actions (mutations) available in this Gadget app, including their arguments. Useful for understanding what write operations are available, even though this server is read-only.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior3/5

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

Without annotations, the description bears the full burden. It adds important context that the server is read-only, which informs the agent about the nature of the listed actions. However, it does not disclose other behavioral aspects like authentication requirements or whether the list is exhaustive.

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 two sentences, with the main purpose in the first sentence and useful context in the second. Every sentence adds value, and there is no redundancy.

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

Completeness5/5

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

Given the simple nature of the tool (no parameters, no output schema), the description provides sufficient information for an agent to understand and use it correctly.

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

Parameters4/5

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

The input schema has no parameters, and schema description coverage is 100%. As per guidelines, a tool with zero parameters gets a baseline of 4. The description does not need to add parameter semantics.

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

Purpose5/5

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

The description clearly states it lists all actions (mutations) in the Gadget app, including their arguments. This distinguishes it from sibling introspection tools like 'introspect_filters' or 'introspect_model', which focus on other aspects.

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

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly mentions the tool is useful for understanding write operations despite the server being read-only, providing clear context for when to use it. However, it does not explicitly state when not to use it or name alternatives.

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

introspect_filtersA

Show all available filter fields and their types for a Gadget model. Use this to construct valid filter arguments for query_records and count_records.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelYesModel name in singular camelCase, e.g. shopifyOrder, label

TDQS

A4.2/5.0
Behavior4/5

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

No annotations provided, so description carries full burden. It accurately describes a read-only introspection tool without side effects, but could be improved by noting any authentication requirements or potential performance impact.

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?

Two sentences, no filler. Every sentence provides essential information: what it does and how to use it.

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

Completeness4/5

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

Given the simple single-parameter input and no output schema, the description adequately covers purpose and usage. It could briefly mention what the output contains (e.g., list of fields with types), but it's still sufficient for an introspection tool.

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 coverage is 100%, so baseline is 3. The description does not add extra meaning beyond the schema's 'Model name in singular camelCase' example; it simply restates the parameter role.

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

Purpose5/5

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

The description clearly states the tool shows all available filter fields and their types for a Gadget model, using specific verb 'show' and resource. It distinguishes from siblings like query_records and count_records by explicitly linking to filter argument construction.

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

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states to use this tool for constructing valid filter arguments for query_records and count_records, providing clear context. However, it does not mention when not to use it or alternatives like introspect_model.

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

introspect_modelA

List all fields and their types for a Gadget model. Run this first when you're unsure what fields exist on a model.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelYesModel name in camelCase, e.g. shopifyOrder, label, shopifyShop

TDQS

A3.8/5.0
Behavior2/5

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

No annotations provided, so description carries full burden. Only states listing action with no disclosure of read-only nature, error handling, or performance implications. Minimal behavioral context.

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?

Two sentences, front-loaded with purpose and usage. No redundant or missing words. Highly efficient.

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

Completeness4/5

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

Simple tool with one parameter and no output schema. Description covers purpose and usage. Could mention return format but not essential. Adequate for the context.

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 coverage is 100% with clear parameter description. The tool description adds little beyond stating 'for a Gadget model', which is already implicit. Baseline 3 is appropriate.

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

Purpose5/5

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

Clearly states 'List all fields and their types for a Gadget model' with a specific verb and resource. Distinct from sibling tools like list_models, introspect_actions, etc.

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

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly recommends running this tool 'first when you're unsure what fields exist on a model.' Provides a usage context but does not name alternatives or exclusions explicitly.

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

list_modelsA

List all models (types) available in this Gadget app via GraphQL introspection.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.3/5.0
Behavior4/5

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

The description discloses the method (GraphQL introspection) and implies a read-only operation. With no annotations, it provides sufficient behavioral context for a simple list operation.

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?

A single, well-structured sentence that is front-loaded and contains no unnecessary information.

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

Completeness5/5

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

For a zero-parameter tool with no output schema, the description is complete. It explains the purpose and method, and there is no missing context given the tool's simplicity.

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

Parameters4/5

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

No parameters, so baseline is 4. The description does not need to add parameter meaning, and schema coverage is 100% (none).

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

Purpose5/5

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

The description clearly states the tool lists all models (types) via GraphQL introspection. It uses a specific verb and resource, distinguishing it from sibling tools like introspect_model which focus on a single model.

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

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. Usage is implied from the description, but exclusions or comparisons to siblings like introspect_actions are not provided.

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

query_recordsA

Query records from any Gadget model. Supports filtering, sorting, pagination cursors, and field selection. Use introspect_model first to discover available fields, and introspect_filters to see valid filter shapes.

ParametersJSON Schema
NameRequiredDescriptionDefault
modelYesModel name in singular camelCase, e.g. shopifyOrder, label
fieldsYesGraphQL field selection, e.g. "id name email createdAt"
filterNoFilter value — use introspect_filters to discover valid filter fields and shapes.
sortNoSort value — array of sort objects, e.g. [{ createdAt: { sortOrder: "Descending" } }]
limitNoMax records to return (default 10, max 50)
afterNoPagination cursor — pass the endCursor from a previous response to fetch the next page

TDQS

A4/5.0
Behavior3/5

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

No annotations provided; description conveys read query nature and supported operations (filtering, sorting, pagination) but lacks details on response format, error handling, or performance implications.

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?

Two concise sentences with front-loaded main purpose and no unnecessary words.

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

Completeness4/5

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

Covers main features and references introspect tools for prerequisites; missing details on return format and pagination behavior, but acceptable given complexity and no output schema.

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 coverage is 100%; description adds context by grouping parameters under 'filtering, sorting, pagination cursors, and field selection', but does not provide syntax details beyond schema.

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

Purpose5/5

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

The description clearly states 'Query records from any Gadget model', a specific verb+resource, and distinguishes from siblings like count_records and get_record by listing capabilities (filtering, sorting, pagination, field selection).

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

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly advises using introspect_model and introspect_filters first, providing usage context but not explicitly excluding alternatives (e.g., get_record for single records).

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

run_graphqlA

Run an arbitrary read-only GraphQL query against the Gadget app. Use this for complex queries with nested relations or custom filtering that query_records can't express.

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYesGraphQL query string
variablesNoGraphQL variables

TDQS

A4.6/5.0
Behavior4/5

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

No annotations provided, so the description carries full burden. It clearly declares read-only behavior. While it doesn't detail error handling or rate limits, the key behavioral trait (read-only) is explicitly stated.

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?

Two concise sentences: first defines purpose, second provides usage guidance. No redundant or extraneous information.

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

Completeness4/5

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

Given no output schema and no annotations, the description adequately covers purpose, usage, and parameter context. It doesn't detail return format, but GraphQL responses are self-explanatory. Slight gap: no mention of authentication or scope.

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

Parameters4/5

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

Schema coverage is 100% with descriptions. The description adds context beyond schema by explaining the tool is for complex, nested, or custom-filtering queries, which guides parameter use.

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

Purpose5/5

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

The description clearly states the tool executes a read-only GraphQL query against the Gadget app. It distinguishes from sibling tool query_records by noting it handles 'complex queries with nested relations or custom filtering that query_records can't express.'

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

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit usage guidance: 'Use this for complex queries...' implies when not to use (simpler queries should use query_records). The description also clarifies it is read-only.

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.

  1. 5 tool updatesv1.0.1
    • Addedcount_records
    • Addedget_schema_overview
    • Addedintrospect_actions
    • Addedintrospect_filters
    • Changedquery_records5 fields changed
      • addedInput schema / properties / after
        Added value: +{
        +  "description": "Pagination cursor — pass the endCursor from a previous response to fetch the next page",
        +  "type": "string"
        +}
      • changedInput schema / properties / filter / description
        Previous value: -"Gadget filter object, e.g. { \"name\": { \"equals\": \"#59389\" } }"New value: +"Filter value — use introspect_filters to discover valid filter fields and shapes."
      • removedInput schema / properties / filter / type
        Removed value: -"object"
      • changedInput schema / properties / model / description
        Previous value: -"Model name in camelCase, e.g. shopifyOrder, label"New value: +"Model name in singular camelCase, e.g. shopifyOrder, label"
      • addedInput schema / properties / sort
        Added value: +{
        +  "description": "Sort value — array of sort objects, e.g. [{ createdAt: { sortOrder: \"Descending\" } }]"
        +}
  2. 5 tool updatesv1.0.6
    • First observedget_record
    • First observedintrospect_model
    • First observedlist_models
    • First observedquery_records
    • First observedrun_graphql

TDQS

A4.2/5.0
Disambiguation5/5

Each tool has a unique and clear purpose: counting records, fetching single record, schema overview, action/filter/model introspection, listing models, querying records, and running arbitrary GraphQL. No overlap in functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., count_records, introspect_model, run_graphql). Verbs are uniform and descriptive.

Tool Count5/5

9 tools is well-scoped for a read-only Gadget server, covering schema discovery, record retrieval, counting, and custom queries without being excessive or insufficient.

Completeness5/5

For a read-only server, the tool surface is thorough: schema introspection, record CRUD (get, query, count), filter discovery, and arbitrary GraphQL queries. No obvious gaps for typical read operations.

Maintenance

ActivityInactive
ResponsivenessNo issues

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

  • The Grafbase MCP server sits in front of a GraphQL API and exposes an MCP protocol-compliant interface that allows AI agents and LLMs to explore and query GraphQL APIs using natural language. It provides tools to search schemas, introspect types and fields, and execute GraphQL queries while minimizing context bloat by returning only relevant schema subsets, with built-in support for authentication, authorization, and configurable access control.

  • The HubSpot MCP Server acts as a bridge that enables AI assistants and Large Language Models to securely interact with HubSpot CRM data through natural conversation, without requiring users to understand complex API structures. It provides read-only access to standard CRM objects (contacts, companies, deals, tickets, products, invoices, and more) and their associations, secured via OAuth 2.0, allowing AI agents to perform tasks like summarizing deals, fetching company updates, and looking up record changes.

  • Query 40 databases from Claude, ChatGPT, or Cursor — on any device. Read-only, encrypted, audited.

  • The Cortex MCP server provides read-only access to real-time engineering context from the Cortex developer portal, allowing AI coding assistants to answer natural language questions about your organization's catalog (microservices, libraries, domains, teams, infrastructure), scorecards (engineering standards and best practices), initiatives (goals and deadlines), and Engineering Intelligence metrics. It includes tools for querying documentation, tracking personal entities, and accessing AI-assisted insights across the entire Cortex ecosystem.

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    GraphQL MCP Server that acts as a bridge allowing MCP clients (like Cursor or Claude Desktop) to interact with target GraphQL APIs through standard tools for schema introspection and operation execution.
    2
    20
    3
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    A generic MCP (Model Context Protocol) server that bridges any GraphQL API to Claude Code. It introspects your GraphQL schema and exposes each query and mutation as an individual tool, letting Claude interact with your API directly.
    2
    48
    1
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    A read-only MCP server that provides AI coding tools with database schema structure (tables, columns, keys, relationships) without exposing row data.
    3
    Apache 2.0

Latest Blog Posts

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/Stronger-eCommerce/gadget-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server