Skip to main content
Glama

MCP API Client (Beta)

A Model Context Protocol (MCP) server that call APIs using YAML config files.

This server allows you connect to APIs using simple a config YAML file! 🤩

Ideal for: #lazy-programmers #nocode #lowcode #ai-integrators #automation #api-gateway #data-pipelines #rapid-prototyping #llm-integration #makers

If you don't have advance APIs call skills using a programming language or you just want a fast way to connect your AI model with an API using MCP, you will LOVE 💖 this MCP.

🎬▶️ Example Video😉✨

Check this video using included Test Server and Claude

Related MCP server: mcp-server-llmling

Support with your Click!

Make a reaction and give me a motivational comment on mcp.so repository

Help me on mcp.so

... and yes! A donation to help cover my coffee and rent would be amazing! 🙏🙏

ko-fi

Features

  • Configure multiple API endpoints using YAML

  • Automatic MCP tool creation from YAML config file.

  • Automatic MCP fetch API creation from YAML config file.

  • Supports all HTTP methods (GET, POST, PATCH, PUT, DELETE) [✨PARTIAL✨]

    • [✅] GET API without parameters

    • [✅] GET API with query parameters

    • [✅] GET API with path parameters

    • [✅] POST API

    • [✅] PATCH API with path parameters

    • [✅] PUT API with

    • [✅] DELETE API with path parameters

  • Set API Headers [✨WORKING✨]

  • Set API Token [✨ 🫣🔴COMMING SOON✨]

  • Environment variable interpolation for sensitive data [✨ 🫣🔴COMMING SOON✨]

  • Automatic PATH parameter detection from URL (like /users/{id})[✨WORKING✨]

  • Automatic QUERY parameter detection from URL (like /users?page={page}&limit={limit}) [✨WORKING✨]

  • Reduce Prompt tokens used setting up certain APIs for your project

  • ...and best of all, SAVE COUNTLESS HOURS FOR HUMANITY 👏😎😉 by connecting your LLM to any API.

Use cases

  • Connect to N8N, Make.com or Zapier webhook: Make actions in other platforms connecting to automations or integration tools.

  • AI Model Integration: Quickly connect LLMs or other AI models to external APIs for data retrieval, enrichment, or action execution without custom code.

  • Rapid Prototyping: Build and test API workflows using YAML configuration, ideal for hackathons, demos, or proof-of-concept projects.

  • No-Code/Low-Code Automation: Enable non-developers to define and call APIs securely using simple YAML files and environment variables.

  • Data Pipelines: Orchestrate API calls as part of ETL or data processing pipelines, leveraging MCP tools for modularity and reuse.

  • API Gateway: Expose multiple backend APIs through a unified MCP interface, simplifying integration for downstream consumers.

  • Secure API Access: Manage secrets and tokens via environment variables, keeping sensitive data out of source code and YAML files.

Getting started

  1. Get a copy of default api.yaml.

npx -y mcp-api-client --init
  1. You can test default api.yaml with express test server test/server.js. Execute in other terminal.

npx -y mcp-api-client --test-server
  1. Add MCP to your agent config file.

  • Example for Claude Client settings file:

"mcp": {
    "servers": {
      "mcp-api-client": {
          "command": "npx",
          "args": [
              "-y",
              "mcp-api-client",
              "path-to-api.yaml"
          ]
      },
    }
  }
  • Example for Visual Studio Code settings file:

"mcp": {
    "servers": {
      "mcp-api-client": {
          "command": "npx",
          "args": [
              "-y",
              "mcp-api-client",
              "path-to-api.yaml"
          ]
      },
    }
  }
  1. Just Ask!

Ask to Claude LLM in MCP client

YAML Configuration File

Each API YAML file can include global metadata with MCP information:

metadata: General information about the API set

and a list of API endpoint definitions:

apis: A list of API endpoint definitions. Each endpoint should have

Example API YAML config file example

metadata:
  name: API Examples
  version: 1.0.0
  description: This file contains examples of various API endpoints for testing purposes.

apis:
  - name: getUser
    url: https://api.example.com/users/{id}
    method: GET
    content:
      headers:
        Accept: application/json
  
  - name: createUser
    url: https://api.example.com/users
    method: POST
    api-token: ${API_TOKEN}
    content:
      headers:
        Content-Type: application/json
      body:
        name: string
        email: string
  ...

See public/apis.yaml for a complete example with metadata and all HTTP methods and parameter types.

API_TOKEN from .env (Not tested yet!)

Create a .env file for your API tokens:

API_TOKEN=your_api_token_here

Bugs and Requests

https://github.com/molavec/mcp-api-client/issues

Contributing

  1. Fork the repository

  2. Create your feature branch

  3. Commit your changes

  4. Push to the branch

  5. Create a new Pull Request

License

MIT

Available Tools

7 tools
createUserB

Create a new user.

Inputs: name (required), email (required).

deleteUserA
DestructiveIdempotent

Delete a user by ID.

Inputs: id.

getUsersB
Read-onlyIdempotent

Retrieve a list of users.

Inputs: no named parameters.

getUsersWithQueryParametersA
Read-onlyIdempotent

Retrieve a list of users with pagination.

Inputs: page, limit.

getUserWithPathParametersB
Read-onlyIdempotent

Retrieve a user by ID.

Inputs: id.

replaceUserB

Replace an existing user.

Inputs: name (required), email (required), id.

updateUserC

Update an existing user.

Inputs: id, name, email.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    B3.4/5.0

    Scored across 7 tools

    Disambiguation3/5

    The tools have overlapping purposes that could cause confusion, particularly between getUsers, getUsersWithQueryParameters, and getUserWithPathParameters, which all retrieve user data but with different parameters. However, the descriptions clarify the distinctions, such as pagination vs. ID-based retrieval, helping to mitigate misselection.

    Naming Consistency4/5

    The naming is mostly consistent with a verb_noun pattern (e.g., createUser, deleteUser), but there are minor deviations in the longer names like getUsersWithQueryParameters and getUserWithPathParameters, which include additional descriptors. Overall, the pattern is readable and predictable.

    Tool Count5/5

    With 7 tools, the count is well-scoped for a user management API, covering essential CRUD operations and additional query functionalities. Each tool serves a distinct purpose, making the set appropriately sized for the domain.

    Completeness5/5

    The tool set provides complete CRUD coverage for user management, including create, read (with variations for listing and specific retrieval), update, replace, and delete. There are no obvious gaps, and the surface supports full lifecycle operations without dead ends.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      An MCP server that exposes HTTP methods defined in an OpenAPI specification as tools, enabling interaction with APIs via the Model Context Protocol.
      8
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      A server for the Machine Chat Protocol (MCP) that provides a YAML-based configuration system for LLM applications, allowing users to define resources, tools, and prompts without writing code.
      49 PyPI
      6
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      A server that enables interaction with any API that has a Swagger/OpenAPI specification through Model Context Protocol (MCP), automatically generating tools from API endpoints and supporting multiple authentication methods.
      230 npm
      115
      Apache 2.0