GraphQL MCP Server
Provides seamless access to any GraphQL API with automatic tool generation from schema introspection, supporting both queries and mutations with proper handling of complex types and variables.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@GraphQL MCP Serverlist all countries in Europe with their capital cities"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
GraphQL MCP Server
A strongly-typed TypeScript Model Context Protocol (MCP) server that provides seamless access to any GraphQL API through Claude AI.
Features
Strongly Typed: Built with TypeScript for improved code quality and type safety
Dynamic GraphQL Integration: Connect to any GraphQL API with automatic tool generation
Schema Introspection: Automatically discovers and exposes all GraphQL operations as tools
Full Mutation Support: First-class support for GraphQL mutations with proper handling
Query & Mutation Whitelisting: Optional whitelisting to control which GraphQL operations are exposed
Rich Type Support: Properly handles complex GraphQL types, input objects, and variables
MCP Standard Compliant: Follows the Model Context Protocol format for seamless Claude integration
Smart Query Generation: Builds efficient GraphQL queries with proper field selection
Authentication Support: Simple API key authentication
Related MCP server: Gemini MCP Server
Repository Structure
graphql-mcp/
├── src/
│ └── graphql-mcp-server.ts # Main server implementation (TypeScript)
├── dist/ # Compiled JavaScript (generated)
├── docs/
│ ├── GETTING_STARTED.md # Setup and usage guide
│ ├── PROJECT_STATUS.md # Current project status
│ └── TECHNICAL.md # Technical documentation
├── .env.development # Environment variables
├── .env.sample # Sample environment template
├── claude_desktop_sample_config.json # Sample Claude Desktop config
├── package.json # Project dependencies
├── tsconfig.json # TypeScript configuration
├── run-graphql-mcp.sh # Script to run the server
└── README.md # This filePrerequisites
Node.js 18 or later
TypeScript 5.x or later
Claude Desktop with MCP support
A GraphQL API endpoint (defaults to the Countries API if not specified)
Installation
Option 1: From npm
# Install globally
npm install -g graphql-mcp
# Run the server
graphql-mcp-serverOption 2: Clone Repository
# Clone the repository
git clone https://github.com/ctkadvisors/graphql-mcp.git
cd graphql-mcp
# Install dependencies
npm install
# Run the server
npm startQuick Start
1. Setup Environment Variables
Copy the sample env file and update it with your GraphQL API details:
cp .env.sample .env.developmentEdit .env.development with your GraphQL API endpoint and optional API key.
2. Build and Run
First compile the TypeScript code:
npm install
npm run buildThen run the server:
node dist/graphql-mcp-server.jsOr use the provided script that compiles and runs in one step:
./run-graphql-mcp.sh3. Claude Desktop Integration
Add this server to your Claude Desktop configuration:
Use the sample config as a template:
cp claude_desktop_sample_config.json ~/Library/Application\ Support/Claude/claude_desktop_config.jsonEdit the config and update the path to point to your installation:
{ "mcpServers": { "graphql": { "command": "node", "args": ["/absolute/path/to/dist/graphql-mcp-server.js"], "env": { "GRAPHQL_API_ENDPOINT": "https://your-graphql-api.com/graphql", "GRAPHQL_API_KEY": "your-api-key-if-needed", "WHITELISTED_QUERIES": "[\"countries\",\"continent\",\"languages\"]" } } } }Restart Claude Desktop to connect to the server
You should now see GraphQL operations as available tools in Claude Desktop!
Operation Whitelisting
For security or performance reasons, you may want to limit which GraphQL operations (queries and mutations) are exposed to Claude. There are two approaches to controlling access:
Enable/Disable Mutations: By default, all mutations are disabled for security. To enable mutations:
"env": {
"GRAPHQL_API_ENDPOINT": "https://example-graphql-api.com/graphql",
"ENABLE_MUTATIONS": "true"
}Operation Whitelisting: You can specify which specific operations should be available:
"env": {
"GRAPHQL_API_ENDPOINT": "https://example-graphql-api.com/graphql",
"ENABLE_MUTATIONS": "true",
"WHITELISTED_QUERIES": "[\"countries\",\"continent\",\"languages\"]",
"WHITELISTED_MUTATIONS": "[\"createUser\",\"updateProfile\"]"
}The whitelists can be specified in two formats:
As a JSON array string (shown above):
"[\"query1\",\"query2\"]"As a comma-separated list:
"query1,query2,query3"
IMPORTANT: The whitelist values must be strings, not actual JSON array objects. Environment variables are always passed as strings, so you need to properly escape the quotes in the JSON string as shown above.
Example of correct format in Claude Desktop configuration:
"graphql-api": {
"command": "node",
"args": [
"/Users/username/Projects/graphql-mcp/dist/graphql-mcp-server.js"
],
"env": {
"GRAPHQL_API_ENDPOINT": "https://example-graphql-api.com/graphql",
"NODE_ENV": "development",
"DEBUG": "true",
"ENABLE_MUTATIONS": "true",
"WHITELISTED_QUERIES": "[\"getUser\",\"getProducts\",\"getOrders\"]",
"WHITELISTED_MUTATIONS": "[\"createOrder\",\"updateProfile\"]"
}
}Common mistake to avoid:
// INCORRECT - Will not work!
"WHITELISTED_QUERIES": ["getUser", "getProducts"],
"WHITELISTED_MUTATIONS": ["createOrder", "updateProfile"]
// CORRECT
"WHITELISTED_QUERIES": "[\"getUser\",\"getProducts\"]",
"WHITELISTED_MUTATIONS": "[\"createOrder\",\"updateProfile\"]"If no whitelist is provided for a particular operation type, all operations of that type from the GraphQL schema will be available.
Example Usage
Querying Data
Once connected to Claude Desktop, you can use commands like:
View result from countries from graphql (local){}Or with parameters:
View result from country from graphql (local){
"code": "US"
}Using Mutations
For mutations, the tools are prefixed with mutation_ to distinguish them from queries:
View result from mutation_createUser from graphql (local){
"name": "John Doe",
"email": "john.doe@example.com"
}Or a more complex mutation:
View result from mutation_updateProduct from graphql (local){
"id": "prod-123",
"input": {
"name": "Updated Product Name",
"price": 29.99,
"description": "This is an updated product description"
}
}Mutations follow the same pattern as queries but allow you to modify data in your GraphQL API.
Documentation
For more detailed information, see:
Development
To make changes to the server:
Modify the TypeScript source in
src/graphql-mcp-server.tsCompile the TypeScript code:
npm run buildRun the compiled server:
node dist/graphql-mcp-server.js
Publishing to npm
To publish this package to npm:
# Make sure you're logged in to npm
npm login
# Build the project
npm run build
# Publish to npm
npm publishThe package will include the pre-built JavaScript files in the dist directory, making it ready to use without additional build steps.
License
This project is licensed under the Business Source License 1.1 (BSL 1.1), which allows:
Non-commercial use: You may use this software for any non-commercial purpose
Internal business use: You may use this software for internal business operations that do not provide it to third parties as a hosted or managed service
Open source conversion: On March 14, 2029, the code will automatically convert to the MIT license
Commercial use, including offering this software as a service to others, requires a commercial license from CTK Advisors. For more information, contact us or see the full LICENSE file.
The BSL license is designed to balance open source availability with sustainable commercial development, giving everyone free access for non-commercial purposes while protecting our ability to support and enhance the software long-term.
Available Tools
6 toolscontinentD
GraphQL continent query
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | code parameter (ID) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. However, it only states it's a 'GraphQL continent query', which doesn't reveal any behavioral traits such as whether it's read-only, requires authentication, has rate limits, or what the response format might be. This is inadequate for a tool with no annotation support.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single phrase 'GraphQL continent query', which is under-specified rather than concise. It lacks front-loaded information and doesn't earn its place by adding value; it's too brief to be helpful, failing to convey purpose or usage effectively.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (a query with one parameter), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what the tool returns (e.g., continent details), how to interpret the 'code' parameter, or behavioral aspects. For a tool with minimal structured data, more descriptive context is needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema description coverage is 100%, with the single parameter 'code' documented as 'code parameter (ID)'. The description adds no additional meaning beyond what the schema provides, such as explaining what the code represents (e.g., continent code like 'AF' for Africa) or format details. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'GraphQL continent query' restates the tool name 'continent' and the generic concept of a query, making it tautological. It doesn't specify what the query actually does (e.g., retrieve continent details by code), nor does it distinguish from sibling tools like 'continents' (plural) which might list all continents. The purpose is vague beyond being a GraphQL operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided on when to use this tool versus alternatives. It doesn't mention when to use 'continent' (singular) versus 'continents' (plural), or how it relates to other sibling tools like 'countries' or 'languages'. There's no context or exclusions stated, leaving the agent with no usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
continentsC
GraphQL continents query
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | filter - Input type: ContinentFilterInput |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It only states this is a 'GraphQL continents query', implying a read-only operation, but doesn't disclose behavioral traits like what data is returned, error conditions, rate limits, or authentication needs. For a tool with no annotations, this is insufficient.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient phrase with zero wasted words. It's appropriately sized for a simple query tool, though the brevity contributes to its lack of helpfulness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a nested object parameter, the description is incomplete. It doesn't explain what the tool returns, how filtering works, or provide any context beyond the basic query nature. For a tool with potential complexity (nested filter), this is inadequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the 'filter' parameter is documented as 'filter - Input type: ContinentFilterInput'), so the baseline is 3. The description adds no parameter semantics beyond what the schema provides, but doesn't contradict it either.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'GraphQL continents query' restates the tool name 'continents' and adds 'GraphQL query' which is tautological for a query tool. It doesn't specify what the tool actually does (e.g., 'Retrieve continent data with optional filtering'), nor does it distinguish from sibling tools like 'continent' (singular).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like 'continent' (singular) or 'countries'. The description provides no context about use cases, prerequisites, or exclusions, leaving the agent with no usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
countriesC
GraphQL countries query
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | filter - Input type: CountryFilterInput |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. It only states it's a 'GraphQL countries query', which implies a read operation but doesn't clarify if it's safe, what data it returns, or any constraints like rate limits or authentication needs. For a query tool with zero annotation coverage, this is a significant gap in transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise with 'GraphQL countries query', which is efficient and front-loaded. However, it's overly brief to the point of under-specification, lacking necessary details for clarity. It earns a high score for conciseness but loses points for not providing enough substance to be truly helpful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (1 parameter with nested object, no output schema, no annotations), the description is incomplete. It doesn't explain what the tool returns, how to use the filter, or differentiate from siblings. For a query tool with these contextual signals, more detail is needed to be considered adequately complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with the schema documenting the 'filter' parameter as an object of type 'CountryFilterInput'. The description adds no additional meaning beyond this, such as examples of filter criteria or usage context. With high schema coverage, the baseline score of 3 is appropriate, as the schema does the heavy lifting for parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'GraphQL countries query' restates the tool name 'countries' and adds only the generic term 'GraphQL query', which is tautological. It doesn't specify what the query actually does (e.g., retrieve, list, search countries) or distinguish it from sibling tools like 'country' (singular) or 'continent' tools. The purpose remains vague beyond being a GraphQL operation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'country' (likely for a single country) or 'continents', nor does it provide any context for usage scenarios (e.g., filtering, listing all countries). The description lacks any indication of prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
countryC
GraphQL country query
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | code parameter (ID) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full burden. It mentions 'GraphQL' and 'query', implying a read-only operation, but doesn't disclose behavioral traits like error handling, rate limits, authentication needs, or what happens if the code is invalid. Minimal context beyond the basic operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is very concise with two words, but it's under-specified rather than efficiently informative. It's front-loaded but lacks necessary detail, making it borderline between conciseness and insufficiency.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no annotations, no output schema, and a single parameter with full schema coverage, the description is incomplete. It doesn't explain what the query returns, error conditions, or how it differs from sibling tools, leaving significant gaps for an AI agent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with one parameter 'code' documented as 'code parameter (ID)'. The description adds no additional meaning beyond what the schema provides, such as format examples or constraints. Baseline 3 is appropriate since the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'GraphQL country query' states the technology and resource but lacks a specific verb and doesn't distinguish from siblings like 'countries' or 'language'. It's vague about what the query actually does (fetch by code vs general query).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus siblings like 'countries' (plural) or 'language'. The description implies it's for querying countries via GraphQL, but doesn't specify use cases, prerequisites, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
languageC
GraphQL language query
| Name | Required | Description | Default |
|---|---|---|---|
| code | Yes | code parameter (ID) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure but provides minimal information. 'GraphQL language query' suggests a read operation but doesn't specify if it's safe, what permissions might be required, what format the response takes, or any rate limits. It doesn't disclose whether this queries language data or executes GraphQL operations, leaving significant behavioral uncertainty.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just three words, which could be appropriate if it were more informative. However, the brevity comes at the cost of clarity - it's under-specified rather than efficiently informative. The structure is simple but doesn't effectively front-load the most critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no annotations, no output schema, and a minimal description, the contextual information is insufficient. For a tool with one required parameter that presumably returns language data (based on sibling tools), the description should explain what the tool returns, how it relates to the 'languages' sibling, and what the 'code' parameter represents beyond just being an ID.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% description coverage, with the single parameter 'code' documented as 'code parameter (ID)'. The description adds no additional parameter information beyond what's in the schema. According to scoring rules, when schema_description_coverage is high (>80%), the baseline is 3 even with no param info in description, which applies here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'GraphQL language query' is tautological - it essentially restates the tool name 'language' with the addition of 'GraphQL query'. It doesn't specify what the tool actually does (e.g., retrieves language information, validates language codes, etc.) or what resource it operates on. While it mentions 'GraphQL', it doesn't clarify if this executes a GraphQL query or returns GraphQL schema information about languages.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides no guidance on when to use this tool versus its siblings (continent, continents, countries, country, languages). There's no indication of what differentiates this language tool from the 'languages' sibling tool, nor any context about appropriate use cases, prerequisites, or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
languagesC
GraphQL languages query
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | filter - Input type: LanguageFilterInput |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure but provides almost none. 'GraphQL languages query' implies a read operation but doesn't specify what data is returned, whether there are rate limits, authentication requirements, pagination behavior, or any other operational characteristics. The description adds minimal value beyond the implied query nature.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise at just three words with zero wasted language. While it's under-specified, it's not verbose or poorly structured - it's front-loaded with the essential information that this is a GraphQL query for languages.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a tool with 1 parameter (including a nested object), no annotations, no output schema, and multiple sibling tools, the description is severely incomplete. It doesn't explain what the tool returns, how it differs from similar tools, what the filter parameter actually does, or provide any operational context needed for effective use.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% (the single 'filter' parameter has a description), so the baseline is 3. The tool description doesn't add any meaningful information about parameters beyond what's already in the schema - it doesn't explain what LanguageFilterInput contains, what filtering capabilities exist, or provide examples of filter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description 'GraphQL languages query' is a tautology that essentially restates the tool name 'languages' with the addition of 'GraphQL query' - it doesn't specify what the tool actually does beyond being a query. It doesn't distinguish this from sibling tools like 'language' (singular) or explain what 'languages' refers to in this context.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is absolutely no guidance about when to use this tool versus alternatives. The description provides no context about when this query should be used instead of sibling tools like 'language', 'countries', or 'continents', nor does it mention any prerequisites or constraints for usage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
TDQS
Each tool has a clearly distinct purpose targeting a specific GraphQL query type (continent vs. continents, country vs. countries, language vs. languages), with no overlap or ambiguity in functionality. The singular/plural pairs are well-defined and intuitive for querying individual items versus lists.
All tool names follow a perfectly consistent pattern using singular and plural nouns (e.g., continent/continents, country/countries, language/languages) with no deviations in style or convention. This uniformity makes the set predictable and easy to navigate.
With 6 tools, the count is reasonable and well-scoped for a GraphQL server focused on geographic and linguistic data queries. It slightly leans toward being minimal but covers core query types effectively without feeling bloated or incomplete.
The tool set provides basic query capabilities for continents, countries, and languages, but lacks obvious operations like mutations (e.g., create, update, delete) or more advanced GraphQL features. While the query surface is coherent, it is limited to read-only operations, leaving gaps for full lifecycle management.
Maintenance
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.
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA server that allows AI agents to interact with the Tally API to access DAO governance data, proposals, and metadata using Model Context Protocol (MCP), built with TypeScript and GraphQL.197MIT
- AlicenseAqualityDmaintenanceA TypeScript server that integrates Google's Gemini Pro model with Claude Desktop through the Model Context Protocol, allowing Claude users to access Gemini's text generation capabilities.77012MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables LLMs to interact with GraphQL APIs by providing schema introspection and query execution capabilities.1,3173MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that enables LLMs to interact with GraphQL APIs by providing schema introspection and query execution capabilities.21MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ctkadvisors/graphql-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server