skills/graphql-schema-discovery/SKILL.md
Discover and navigate your organization's GraphQL schema using AI tools. Use when exploring, searching, browsing, introspecting, or understanding the GraphQL schema, finding available types and fields, discovering operations, or setting up an MCP server for schema navigation.
npx skillsauth add abhiroopb/synthetic-mind graphql-schema-discoveryInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
4 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Two approaches for discovering what's available in your organization's GraphQL schema: an MCP server for AI-native exploration, and direct introspection queries.
Use an MCP server (e.g., mcp_graphql) that provides AI agents with tools for schema navigation and query execution.
npx -y @your-org/mcp_graphql
Options:
--client CLIENT — Client configuration (e.g., default, dashboard, admin)--env staging|production — Target environment (default: staging)| Tool | Purpose |
|------|---------|
| get_operations | List pre-built operations for the configured client |
| execute_graphql | Execute a GraphQL operation against the gateway |
| validate_graphql_operation | Validate a query against the schema without executing |
| introspect_graphql_schema | Explore types, fields, and directives in the schema |
Create .graphql files in src/operations/<client>/ within your MCP GraphQL repo:
# Description: Fetch merchant details by ID
# This operation retrieves core merchant information
query GetMerchant($id: ID!) {
merchant(id: $id) {
id
name
country
}
}
Comments before the operation become the tool description. The operation name becomes the tool identifier.
Add a client entry to src/config.yaml:
clients:
my-client:
name: my-client
variant: internal
capabilities:
introspect: true
auth:
type: bearer
token_env: MY_AUTH_TOKEN # Optional: env var for auth token
When the MCP server isn't available, query the schema directly:
# List all root query fields
{ __schema { queryType { fields { name description } } } }
# Explore a specific type
{ __type(name: "Merchant") { fields { name type { name kind } } } }
# Discover filter inputs
{ __type(name: "MerchantFilterInput") { inputFields { name type { name kind } } } }
# List all types in the schema
{ __schema { types { name kind } } }
Run these via Apollo Explorer or cURL:
curl -X POST https://your-graphql-gateway.example.com/graphql \
-H 'Content-Type: application/json' \
-H 'apollographql-client-name: schema-explorer' \
-d '{"query": "{ __schema { queryType { fields { name } } } }"}'
references/mcp-graphql-setup.md — Load when setting up the MCP server for a new agent or troubleshootingreferences/introspection-queries.md — Load when running introspection directly against the gatewaygraphql-client — Use when consuming GraphQL from web, mobile, or server-side applicationsgraphql-connectors — Use when authoring REST Connector subgraphsgraphql-subgraphs — Use when building standalone GraphQL subgraph servicestesting
Track TV shows and movies with Trakt.tv. Search, get watchlist, history, up-next, recommendations, trending, calendar, ratings, stats, add/remove from watchlist, mark watched, rate, and check in. Use when asked about what to watch, TV shows, movies, watch history, or Trakt.
development
Send and receive SMS messages via Twilio API. Used for text message notifications, forwarding important alerts, and two-way SMS communication.
documentation
Organizes files in the local Downloads folder into proper folders. Use when asked to organize, sort, or file downloaded documents.
tools
Book and manage appointments on Sutter Health MyHealth Online portal. Uses browser automation via Playwright MCP to interact with the patient portal.