Skip to main content
Glama
gleanwork

Glean Connector MCP Server

by gleanwork

@gleanwork/connector-mcp

Experimental npm version CI License: MIT

An MCP server for AI-assisted Glean connector development. Add it to your IDE's MCP config and use Claude Code, Cursor, or any MCP-compatible AI assistant to scaffold, schema-map, generate, and test Glean connectors — without leaving your editor.

Prerequisites

  • Node.js ≥ 20

  • Python + uv (for run_connector and Copier scaffolding)

  • A Glean API token

Related MCP server: Glean MCP Server

Setup

Claude Code

Add to .claude/mcp.json in your project (or ~/.claude/mcp.json globally):

{
  "mcpServers": {
    "local": {
      "command": "npx",
      "args": [
        "-y",
        "@gleanwork/connector-mcp"
      ],
      "type": "stdio"
    }
  }
}

For setup instructions for Cursor, VS Code, Windsurf, Goose, Codex, JetBrains, Gemini CLI, OpenCode, and more, see docs/setup.md.

Environment Variables

These are set in the MCP server config, not in your connector project.

Variable

Required

Description

GLEAN_PROJECT_PATH

No

Default project directory; overridden by create_connector

GLEAN_CONNECTOR_TEMPLATE_PATH

No

Path to a custom Copier template (defaults to copier-glean-connector in workspace)

GLEAN_WORKER_COMMAND

No

Command to start the Python worker (default: uv run python -m glean.indexing.worker)

GLEAN_WORKER_REQUEST_TIMEOUT

No

Max seconds to wait for a worker JSON-RPC response (default: 30)

GLEAN_WORKER_SHUTDOWN_TIMEOUT

No

Seconds to wait for graceful worker shutdown before SIGKILL (default: 5)

GLEAN_INSTANCE and GLEAN_API_TOKEN belong in your connector project's .env file — create_connector generates a .env.example to get you started.

Quick Start

In your AI assistant, try:

"I want to build a Glean connector for our Salesforce Opportunities data. The API uses OAuth2 bearer tokens and returns paginated JSON. Let's start."

Or call get_started — the assistant will ask what you're connecting and walk you through the rest.

Core Workflow

Six steps from zero to a running connector. The assistant guides you through each one.

Step

What you're doing

Tool

0

Verify prerequisites

check_prerequisites

1

Scaffold the project

create_connector

2

Configure the data source

set_config

3

Define the schema (infer from a sample file or write it)

infer_schema + update_schema

4

Map fields and verify required Glean fields are covered

confirm_mappings + validate_mappings

5

Generate the Python connector code

build_connector

5a

Implement real API calls in data_client.py

get_data_client + update_data_client

6

Run the connector and inspect results

run_connector + inspect_execution

Tool Reference

Project Setup

Tool

Description

get_started

Open the guided workflow; the assistant asks what you're connecting

check_prerequisites

Verify uv, python, mise, copier, and Glean credentials are all configured

create_connector

Scaffold a new connector project and set the active session path

list_connectors

List all connector classes found in the project with their DataClient status

set_config

Write connector config (auth, endpoint, pagination) to .glean/config.json

get_config

Read .glean/config.json

Schema

Tool

Description

infer_schema

Parse a .csv, .json, or .ndjson file and return field analysis

get_schema

Read current .glean/schema.json

update_schema

Write field definitions to .glean/schema.json

analyze_field

Deep-dive on a single field: samples, type, Glean mapping suggestions

Field Mapping

Tool

Description

get_mappings

Show source schema and Glean entity model side-by-side

confirm_mappings

Save field mapping decisions to .glean/mappings.json

validate_mappings

Check mappings for missing required Glean fields

Data Client

Tool

Description

get_data_client

Read data_client.py and connector config — use before asking AI to write real API calls

update_data_client

Write a new data_client.py implementation (replaces the mock with real API calls)

Build & Run

Tool

Description

build_connector

Generate src/{module}/connector.py, models.py, mock_data.json from schema+mappings+config

run_connector

Start async connector execution; returns execution_id immediately

inspect_execution

Poll execution status; returns records, validation issues, logs

manage_recording

Record/replay/list/delete connector data recordings

Project Layout

After create_connector, your project directory looks like:

my-connector/
├── src/
│   └── {module_name}/
│       ├── connector.py    ← generated by build_connector
│       ├── models.py       ← generated TypedDict for source data
│       └── mock_data.json  ← sample data for local testing
├── CLAUDE.md           ← workflow guidance (for Claude Code users)
└── .glean/
    ├── schema.json     ← field schema
    ├── mappings.json   ← field mappings to Glean entity model
    ├── config.json     ← connector configuration
    ├── executions/     ← execution results (written on completion)
    └── recordings/     ← captured API responses for replay

MCP Resource

The server exposes a connector://workflow resource that returns the full authoring guide. Your AI assistant can fetch it at session start for workflow context.

Known Limitations

  • Single project per MCP session. The server tracks one active project at a time. To switch projects, set GLEAN_PROJECT_PATH in the MCP server config or restart the server after running create_connector for the new project.

  • Execution state is in-memory. Active execution history is lost when the MCP server restarts. Completed execution results written to .glean/executions/ persist on disk, but any in-progress executions must be re-run.

Troubleshooting

spawn uv ENOENT

uv is not installed or is not on your PATH. The server requires uv to scaffold connector projects and to run the Python worker.

Install it following the official uv instructions, then verify:

uv --version

If uv is installed but not on the PATH seen by your IDE, add it explicitly in the MCP server env config or set GLEAN_WORKER_COMMAND to the full path of an alternative command.

Copier template not found

The server could not locate the copier-glean-connector template. By default it looks for the template alongside this package in the Glean workspace or clones it from github.com/gleanwork over SSH.

Set the GLEAN_CONNECTOR_TEMPLATE_PATH environment variable to the absolute path of a local checkout of the template:

{
  "env": {
    "GLEAN_CONNECTOR_TEMPLATE_PATH": "/path/to/copier-glean-connector"
  }
}

Worker exited / glean.indexing.worker module not found

The Python worker process exited immediately. This usually means one of:

  1. You are not inside a Copier-scaffolded connector project. The run_connector tool must be called after create_connector has set up the project directory with the correct pyproject.toml and dependencies.

  2. The glean-indexing-sdk is not installed in the project's virtual environment. Run uv sync inside the connector project directory to install dependencies.

  3. Wrong working directory. Ensure GLEAN_PROJECT_PATH points to the connector project root, or run create_connector first to set the active session path automatically.

Available Tools

19 tools
analyze_fieldB

Deep-dive on a single field from the current schema: samples, type details, and Glean mapping suggestions.

ParametersJSON Schema
NameRequiredDescriptionDefault
field_nameYesName of the field to analyze in depth

TDQS

B3.4/5.0
Behavior3/5

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

No annotations are present, so description carries full burden. It indicates the tool returns samples, type details, and mapping suggestions, but does not disclose whether it modifies state, requires authentication, or has rate limits. The read-only nature is implied but not explicit.

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?

Single sentence that is concise and front-loads the core purpose. Could be slightly more structured but is efficient with 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?

Given one required parameter and no output schema, the description covers the main purpose and outputs. However, it lacks details on what exactly 'samples' entails, error handling, and assumptions (e.g., field must exist).

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 a clear parameter description. The tool description adds no additional meaning beyond 'deep-dive on a single field' and outputs, which provides context but not parameter-specific detail. With high coverage, 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?

Description clearly states verb 'deep-dive' and resource 'single field', and lists the outputs (samples, type details, Glean mapping suggestions), which distinguishes it from sibling tools like get_schema (overview) and get_mappings (mapping-specific).

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 like get_schema or get_mappings. The description implies usage for in-depth field analysis but does not provide conditions, prerequisites, or exclusions.

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

build_connectorA

Generate Python connector files from schema + mappings + config. Use dry_run: true to preview the generated code without writing files.

ParametersJSON Schema
NameRequiredDescriptionDefault
dry_runNoIf true, return generated code as text without writing files. Set to false to write connector.py, models.py, and mock_data.json.
connector_nameNoClass name for the connector (defaults to "Connector")
datasource_typeNoConnector base class typebasic

TDQS

A3.5/5.0
Behavior3/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. It indicates a write operation (generating files) and notes that dry_run previews without writing. However, it omits details about side effects, required permissions, or what happens to existing files.

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 extremely concise with two sentences, no redundant information, and the key action is front-loaded. Every word contributes value.

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 tool that generates files from multiple inputs, the description is brief. It lacks context on prerequisites (e.g., having schema/mappings/config) or post-conditions. Given the schema is fully described and siblings exist for related steps, it is minimally adequate.

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 covers all three parameters with descriptions (100% coverage). The description adds minimal extra meaning beyond highlighting the dry_run parameter's effect, which aligns with the schema.

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 tool generates Python connector files from schema, mappings, and config. It provides a specific verb and resource, distinguishing it from most siblings, though it does not explicitly differentiate from similar tools like 'create_connector'.

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 mentions using dry_run: true to preview generated code, which is a useful usage tip. However, it does not provide explicit guidance on when to use this tool vs. alternatives or any prerequisites.

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

check_prerequisitesB

Check that all required tools and credentials are installed and configured.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior2/5

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

No annotations are provided, so the description must carry the full burden. It states a check action but does not disclose whether the tool is read-only, what it returns (e.g., list of missing items), or if it modifies any state.

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?

A single sentence that is front-loaded and directly states the tool's purpose. No unnecessary 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?

For a zero-parameter, no-output-schema tool, the description is adequate but minimal. It could mention the outcome format (e.g., success/failure) to 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?

There are zero parameters and schema coverage is 100%. The description need not add parameter details. Baseline 4 is appropriate.

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 'check' and the resource 'required tools and credentials'. It avoids tautology by specifying 'installed and configured'. However, it does not differentiate from sibling tools like 'get_started' which may also be used for initial setup.

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 implies use before a process that requires prerequisites, but provides no explicit when-not-to-use or alternative tools. No guidance on prerequisites themselves.

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

confirm_mappingsA

Save field mapping decisions to .glean/mappings.json. Merges with any existing mappings.

ParametersJSON Schema
NameRequiredDescriptionDefault
mappingsYesList of source→Glean field mapping decisions

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description bears full burden. It discloses merge behavior but omits details on permissions, error handling, side effects (e.g., overwrite policy), and return value, which are important 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.

Conciseness5/5

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

Two short sentences, front-loaded with the primary action. Every word adds value with no redundancy.

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?

Given low complexity (single param, no nested objects, no output schema), the description is minimally adequate but omits crucial details like conflict resolution, success/failure feedback, and integration with sibling tools.

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 adds no extra meaning beyond schema; it does not explain field format, validation rules, or usage tips for the 'mappings' parameter.

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's action (save mapping decisions) and resource (.glean/mappings.json) with a specific verb and file path, distinguishing it from siblings like 'validate_mappings' and 'get_mappings'.

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 on when to use this tool versus alternatives like 'validate_mappings' or 'get_mappings'. The description lacks context for decision-making.

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

create_connectorA

Scaffold a new Glean connector project using the standard template. Call this after get_started. Sets the active project directory for this session.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesName for the new connector (e.g. "salesforce-opportunities")
descriptionNoShort description of what this connector indexes
datasource_typeNoConnector base class type (only applies to datasource category)basic
parent_directoryNoDirectory to create the connector in. Defaults to cwd.
connector_categoryNoType of connector: datasource (default) or peopledatasource

TDQS

A4/5.0
Behavior3/5

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

No annotations exist, so description bears full burden. It discloses a side effect ('Sets the active project directory') but lacks details on permissions, error conditions, or idempotency.

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 with no redundancy. First sentence gives core purpose, second adds prerequisite and side effect. Every word earns its place.

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?

With 5 parameters fully documented in schema and no output schema, the description covers the essential context: ordering and side effect. Could optionally detail scaffolding output files, but current is sufficient.

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% with adequate parameter descriptions. The tool description adds no extra parameter context beyond what the schema already provides, meeting the baseline.

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 'scaffold' and resource 'new Glean connector project', and distinguishes from sibling tool 'get_started' by explicitly indicating the sequence ('Call this after get_started').

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?

Provides clear context by stating to call after get_started, but does not explicitly mention when not to use or name alternative tools like build_connector or run_connector.

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

get_configA

Read the current connector configuration from .glean/config.json.

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?

No annotations are provided, so the description must disclose behavior. 'Read' clearly indicates a non-destructive, read-only operation, and the file path is specific. However, it does not mention edge cases (e.g., file missing) or format details.

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 sentence that is front-loaded with the verb and resource, containing no unnecessary words. It is optimally concise.

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 tool with zero parameters and no output schema, the description provides the essential information: what is read and from where. No additional context is required. Complete for its complexity.

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?

There are no parameters, so schema coverage is trivially 100%. The description adds no parameter info, which is fine given zero parameters. The baseline for 0 params is 4.

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 action ('Read'), the resource ('current connector configuration'), and the specific file location ('.glean/config.json'). It distinguishes itself from sibling tools like 'set_config' (write) and 'get_schema' (schema-specific).

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 vs alternatives is provided. While the tool's purpose is straightforward, the description lacks 'when-to-use' or 'when-not-to-use' information, which is acceptable for a simple read operation but not exemplary.

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

get_data_clientA

Read data_client.py for a module — use before asking AI to implement real API calls.

ParametersJSON Schema
NameRequiredDescriptionDefault
module_nameYesSnake_case module name (e.g. "jira_connector"). Use list_connectors to find available names.

TDQS

A4.1/5.0
Behavior3/5

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

No annotations are provided, so the description carries the burden. It indicates a read operation ('Read data_client.py'), implying it is non-destructive, but does not explicitly state read-only or other 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.

Conciseness5/5

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

The description is a single sentence with no unnecessary words, front-loading the purpose and usage guidance efficiently.

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 tool has one parameter, no output schema, and simple read behavior, the description is complete enough to inform an agent when and how to use it.

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 a single parameter 'module_name' described. The description adds a helpful hint to 'use list_connectors to find available names,' adding some value beyond the 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 the action 'Read data_client.py for a module' and the purpose 'use before asking AI to implement real API calls.' It distinguishes itself from sibling tools like update_data_client or create_connector.

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 says 'use before asking AI to implement real API calls,' providing clear context for when to use this tool. However, it does not specify when not to use it or mention alternatives.

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

get_mappingsA

Return the current source schema alongside the Glean entity model so you can decide which source field maps to which Glean field.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior3/5

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

With no annotations, the description carries full burden. It says 'Return the current source schema,' which implies a read-only operation, but does not explicitly state idempotency, safety, or side effects.

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, compact sentence with no extraneous information, effectively front-loading the purpose.

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?

Despite no output schema, the description sufficiently explains the tool's return value for its simple purpose, though it could specify the output format or structure.

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 tool has zero parameters and schema coverage is 100% vacuously; the description adds meaning by explaining what is returned, exceeding the baseline of 3.

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 returns both the source schema and the Glean entity model for mapping purposes, distinguishing it from siblings like get_schema (likely returns schema only) and infer_schema.

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 phrase 'so you can decide which source field maps to which Glean field' implies the tool is used when mapping decisions are needed, but it does not explicitly state when not to use it or provide alternatives.

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

get_schemaA

Read the current field schema from .glean/schema.json.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.8/5.0
Behavior3/5

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

The tool has no annotations, so the description carries full burden. It states 'Read', implying non-destructive, read-only behavior. However, it does not disclose potential side effects (none expected), permission requirements, or whether the operation is idempotent. For a simple read, this is minimally adequate but could be more precise.

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, front-loaded sentence with no unnecessary words. Every part earns its place—verb, resource, and location are all specified.

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 zero parameters, no output schema, and a simple read operation, the description is nearly complete. It could mention the return format (e.g., 'returns a JSON object representing the schema') but omission is minor.

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 tool has no parameters and schema coverage is 100%, so baseline is 4. The description adds no parameter information because there are none, which 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?

The description clearly states the verb 'Read' and the resource 'current field schema from .glean/schema.json'. It unambiguously distinguishes from siblings like 'infer_schema' (which infers) and 'update_schema' (which modifies), making purpose immediately obvious.

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 is provided on when to use this tool versus alternatives. While it's implicitly a prerequisite for schema modifications, the description does not state this or mention any context (e.g., 'before updating the schema, read the current one').

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

get_startedA

Entry point for building a Glean connector. Returns an opening prompt that orients the AI and asks the user what data source they want to connect. Call this before any other tool.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

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

No annotations, so description must disclose behavior. It describes the output (opening prompt) and orientation purpose. Could mention that it doesn't modify state, but overall adequate.

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 with no redundancy. Front-loaded with direct purpose, followed by usage guidance.

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?

With no parameters, no output schema, and clear purpose, the description fully covers what the agent needs.

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, schema coverage 100%. Baseline 4 applies since description doesn't need to add parameter info.

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?

Explicitly states it is the entry point, returns an opening prompt, and orients the AI. Clearly differentiates from siblings by being the first tool to call.

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?

Directly says 'Call this before any other tool', providing explicit usage order. For an entry point, no alternatives or exclusions needed.

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

infer_schemaA

Parse a data file (.csv, .json, .ndjson) and return field analysis: detected types, null rates, cardinality, and sample values. Use this to understand the source data before defining mappings.

ParametersJSON Schema
NameRequiredDescriptionDefault
saveNoIf true, save the inferred schema to .glean/schema.json
file_pathYesPath to a .csv, .json, .ndjson, or .jsonl file to analyze

TDQS

A4/5.0
Behavior3/5

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

Describes the core behavior (parse and return analysis) but omits the side-effect of the save parameter (optional save to .glean/schema.json). No annotations are provided, so description carries the burden; missing details on mutability and save 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?

Two sentences, no wasted words. First sentence states what it does, second sentence advises when to use. Efficient and front-loaded.

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 annotations and no output schema, the description covers the core functionality and use case well. Minor gap: does not explicitly mention the save parameter's effect or that the file is not modified. Still adequate for a straightforward 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 description coverage is 100%, so both parameters are already described in the schema. The description adds no additional parameter meaning beyond what the schema provides, earning a baseline score of 3.

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 it parses data files (.csv, .json, .ndjson) and returns field analysis including types, null rates, cardinality, and sample values. Distinguishes from sibling tools like get_schema (retrieves existing schema) and analyze_field (single field analysis).

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 this tool to understand source data before defining mappings, providing clear context. Does not list exclusions or alternatives but the purpose implies when not to use (e.g., when schema is already known).

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

inspect_executionA

Check execution status and retrieve records. Returns status, records fetched, per-record validation results, and recent logs.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum records to return
offsetNoRecord pagination offset
execution_idYesThe execution_id returned by run_connector

TDQS

A3.5/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 what is returned but does not disclose behavioral traits such as whether the operation is read-only, idempotent, or has side effects. The term 'check' suggests non-destructive behavior, but this is not explicit.

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-load the purpose and then detail return values. No unnecessary words or redundancy. Every sentence adds value.

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?

Given 3 parameters with full schema coverage and no output schema, the description provides return components but lacks details on pagination behavior (limit/offset) and structure of 'per-record validation results'. Adequate but not comprehensive for a tool without 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% with each parameter having a description. The tool description adds no additional parameter semantics beyond listing the execution_id source and return types. Baseline 3 is appropriate as the schema does the heavy lifting.

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 'Check' and resource 'execution status and retrieve records', and lists specific return values (status, records, validation results, logs). It implies a post-execution inspection role, differentiating from sibling tools like run_connector.

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 does not explicitly state when to use this tool versus alternatives. It implies usage after run_connector via the parameter description referencing 'execution_id returned by run_connector', but lacks direct guidance or exclusions.

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

list_connectorsA

List all connector classes found in this project with their module paths.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.1/5.0
Behavior3/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 correctly describes a read-only list operation, but does not explicitly state that it is safe or idempotent. However, given the simplicity, it is minimally sufficient.

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, front-loaded sentence with no unnecessary words. Every part of the description adds value.

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 simplicity of the tool (no parameters, no output schema), the description is complete. It tells the agent exactly what the tool does and what information is returned.

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 tool has zero parameters and 100% schema coverage. The description adds no parameter information because there are none, meeting the baseline of 4.

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 'List' and the resource 'all connector classes', and specifies that module paths are returned. This distinguishes it from sibling tools like create_connector or run_connector.

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: it's a discovery tool to be used before creating or running connectors, but the description does not state this.

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

manage_recordingB

Manage connector recordings. action: "record" saves fetched data, "replay" runs from a saved file, "list" shows available recordings, "delete" removes one.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.1/5.0
Behavior3/5

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

No annotations exist, so the description bears full responsibility for behavioral disclosure. It reveals that the tool can save, replay, list, or delete recordings, but lacks details on side effects, error conditions, or required permissions. The transparency is adequate but not comprehensive.

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 sentence that front-loads the main purpose and enumerates actions efficiently. However, it could be more structured, and the lack of parameter documentation forces reliance on implicit knowledge.

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 no output schema and zero parameters, the description fails to explain return values or outcomes for each action. It lacks context on how this tool integrates with siblings (e.g., after building a connector). The description is incomplete for an AI agent to invoke correctly.

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 no parameters (100% coverage). The description adds meaning by listing four actions, but these are not formalized as parameters, creating a mismatch. According to the rule, baseline is 3 when schema coverage is high; the description provides some value but introduces inconsistency.

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 tool manages connector recordings and lists four distinct actions (record, replay, list, delete), which specifies the verb and resource. It is distinguishable from sibling tools that focus on other aspects like schema or connectors. However, the description implies an 'action' parameter not present in the schema, causing ambiguity.

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 does not provide guidance on when to use this tool versus alternatives, nor does it specify prerequisites or context for each action. There is no explicit exclusion or comparison to sibling tools.

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

run_connectorA

Start async execution of the Python connector. Returns an execution_id immediately. Poll status with inspect_execution.

ParametersJSON Schema
NameRequiredDescriptionDefault
recording_idNoIf provided, replay from this recording instead of hitting the live source
connector_nameNoPython class name of the connector to runConnector

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 must cover behavioral traits. It mentions async execution and immediate return, but does not disclose failure behavior, prerequisites, or whether the operation is destructive. Insufficient for a tool with no annotations.

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 wasted words. Front-loaded with purpose, immediate return value, and next step.

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?

No output schema or annotations. Description covers return value and polling suggestion, but lacks details on error handling, idempotency, or prerequisites. Adequate but with gaps.

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 descriptions for both parameters. The tool description adds no extra semantics beyond the schema, so baseline 3 is appropriate.

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 tool starts an async execution of a Python connector and returns an execution_id. It distinguishes from inspect_execution by mentioning polling for status. However, it could be more specific about what a connector is, but given sibling tools, it's adequate.

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?

States immediate return and suggests polling with inspect_execution, giving a clear usage pattern. Does not explicitly mention when not to use, but the pattern is clear.

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

set_configA

Write connector configuration to .glean/config.json. Merges with existing config. Code-generation keys (consumed by build_connector): name, display_name, datasource_category, url_regex, icon_url, connector_type. Runtime-only keys (used by the connector at execution time, not during code generation): auth_type, endpoint, api_key_header, page_size, rate_limit_rps.

ParametersJSON Schema
NameRequiredDescriptionDefault
configYesConfiguration to save. Merged with any existing config. Code-generation keys (consumed by build_connector): name, display_name, datasource_category, url_regex, icon_url, connector_type. Runtime-only keys (used by the generated connector, not by build_connector): auth_type, endpoint, api_key_header, page_size, rate_limit_rps.

TDQS

A4.2/5.0
Behavior4/5

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

Without annotations, the description carries the full burden. It discloses that writing mutates state (write to file), that it merges with existing config (not overwrite), and categorizes keys as code-generation vs runtime. This provides useful behavioral context beyond the schema.

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 three sentences, front-loaded with the purpose, and contains zero filler. Every sentence adds unique value: action+merge behavior, code-generation keys, runtime keys. 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?

The description covers purpose, merge semantics, and key categorization. Given a single nested parameter and no output schema, it addresses the main concerns. However, it lacks guidance on error cases (e.g., invalid config) and does not confirm what the tool returns (though likely void). Still, it is adequate for the complexity level.

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?

With 100% schema coverage, baseline is 3. The description adds significant meaning by grouping parameters into code-generation and runtime categories, which clarifies the role of each key. This organization helps the agent understand which parameters matter for different stages, exceeding what the standalone schema descriptions provide.

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 that the tool writes connector configuration to a specific file (.glean/config.json) and merges with existing config. It distinguishes from siblings like get_config (reading) and build_connector (code generation) by specifying the action and resource.

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 asserts that the tool is used to write and merge configuration, but does not explicitly state when to use it vs alternatives (e.g., when to use set_config versus get_config or other write tools). Usage is implied from context, but no direct guidance or exclusion is provided.

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

update_data_clientC

Write a new data_client.py implementation (replaces the mock with real API calls).

ParametersJSON Schema
NameRequiredDescriptionDefault
codeYesComplete replacement for data_client.py. Must include DataClient class with get_source_data() method.
module_nameYesSnake_case module name matching the connector to update.

TDQS

C2.9/5.0
Behavior2/5

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

With no annotations, the description carries full burden but fails to disclose critical behaviors like overwriting existing files, required permissions, or side effects. The statement 'replaces the mock' hints at mutation but 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.

Conciseness4/5

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

Extremely concise, single sentence with no wasted words. However, the brevity sacrifices important behavioral details, so it's not perfectly balanced.

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 lack of output schema and annotations, the description is incomplete. It does not explain return values, errors, prerequisites, or the fact that it overwrites an existing file. A more comprehensive description is needed for a write operation.

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 meaningful parameter descriptions. The tool description adds general context but no extra semantic value beyond what the schema already provides. Baseline score of 3 is appropriate.

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 uses a specific verb ('Write') and resource ('data_client.py implementation') and adds context ('replaces the mock with real API calls'). However, it does not differentiate from sibling tools like get_data_client or create_connector, which could cause confusion.

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., create_connector for full connector creation or get_data_client for reading). The description implies a use case but lacks clear context or exclusions.

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

update_schemaA

Write field definitions to .glean/schema.json. Call this after infer_schema to save the agreed schema, or to make manual edits. Set merge: true to merge incoming fields with the existing schema (fields with the same name are replaced; new names are appended) instead of replacing the entire field list.

ParametersJSON Schema
NameRequiredDescriptionDefault
mergeNoIf true, merge incoming fields with the existing schema (fields with the same name are replaced; new names are appended). If false (default), the entire field list is replaced.
fieldsYesField definitions to write to .glean/schema.json

TDQS

A4.4/5.0
Behavior4/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 details the write action, file path, and merge behavior (replace vs append). It lacks info on side effects like file creation or permissions, but the given detail is good.

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?

Three concise sentences: first states action and file, second gives usage context, third explains merge parameter. No redundancy or fluff.

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?

For a 2-parameter tool with no output schema, the description covers the action, usage context, and parameter behavior. It lacks error handling or side effects, but is fairly complete given low complexity.

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% (baseline 3). The description adds value by explaining merge: true behavior (replace same name, append new) and the context of using after infer_schema, surpassing schema descriptions.

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 writes field definitions to .glean/schema.json (specific verb+resource). It distinguishes itself from siblings like infer_schema by stating it is called after infer_schema to save the agreed schema, and from get_schema which reads.

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 says when to use: after infer_schema to save or for manual edits. It explains the merge behavior and default. However, it does not explicitly state when not to use or provide alternative tools beyond the implicit sequence.

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

validate_mappingsA

Check current mappings against Glean's entity model. Reports missing required fields and type mismatches.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior2/5

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

No annotations are provided, placing full burden on the description. It does not disclose whether the tool is read-only (likely safe) or has any side effects. The description mentions 'reports' but does not specify the output format or where results appear, leaving the agent uncertain about behavioral outcomes.

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 sentence with two concise clauses, front-loading the primary action. Every word adds value, no redundancy or filler.

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?

Given no output schema and no annotations, the description provides the essential action and output types but does not clarify how results are returned or how to interpret them. It is minimally adequate but leaves room for ambiguity about the report format.

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 tool has 0 parameters, and schema description coverage is 100% (empty object). The description adds meaning by explaining what the tool checks and reports, which is the relevant semantic context for the parameterless action, meeting the baseline for 0 parameters.

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 action (check current mappings) and resource (Glean entity model), and specifies the types of issues reported (missing required fields, type mismatches). This distinguishes it from sibling tools like get_mappings (retrieval) and infer_schema (schema discovery).

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 the tool should be used to validate mappings before confirming or after changes, but lacks explicit when-to-use or when-not-to-use guidance. No alternatives are mentioned, which is acceptable given the parameterless nature and distinct purpose.

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. 19 tool updatesv0.6.0
    • First observedanalyze_field
    • First observedbuild_connector
    • First observedcheck_prerequisites
    • First observedconfirm_mappings
    • First observedcreate_connector
    • First observedget_config
    • First observedget_data_client
    • First observedget_mappings
    • First observedget_schema
    • First observedget_started
    • First observedinfer_schema
    • First observedinspect_execution
    • First observedlist_connectors
    • First observedmanage_recording
    • First observedrun_connector
    • First observedset_config
    • First observedupdate_data_client
    • First observedupdate_schema
    • First observedvalidate_mappings

TDQS

A3.9/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose, covering different aspects of connector development: scaffolding, schema inference, mapping, configuration, building, execution, and monitoring. No two tools appear to do the same thing.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern in snake_case (e.g., get_schema, create_connector, infer_schema). The only slight deviation is get_started, but it still follows a verb-like prefix, maintaining overall consistency.

Tool Count5/5

With 19 tools, the count is appropriate for the complex domain of building a Glean connector. Each tool fulfills a specific need without being overwhelming or sparse.

Completeness5/5

The tool surface covers the full lifecycle: from starting a project (get_started, create_connector) through schema inference, mapping, configuration, code generation, execution, and monitoring. Obvious gaps (e.g., testing) are minimal and likely covered by inspect_execution and manage_recording.

Maintenance

ActivityInactive
ResponsivenessSyncing

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

Related MCP Servers

  • A
    license
    B
    quality
    F
    maintenance
    A Model Context Protocol server that provides AI assistants with access to Glean's enterprise knowledge features, including content search, people directory, and AI chat capabilities.
    3
    14
    61
    MIT
  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    An MCP server that enables developers to summon AI development team agents directly from their IDE to help with tasks like PR reviews, security evaluation, and CI/CD deployment setup.
    -
  • A
    license
    Not graded
    quality
    A
    maintenance
    MCP server for local-first code intelligence, providing structural code graph, semantic search, and impact analysis to AI agents.
    2
    MIT

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/gleanwork/connector-mcp'

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