mcpField
M
MCP

MCP

Local
github.com/mconflitti-pbcDeveloper Tools0Updated 94w ago

About MCP

A small example project showing a client and server built with the Connect API. It also demonstrates registering Swagger operations as Chatlas tools and includes a Shiny app workflow.

Key features

  1. 01Connect API client and server
  2. 02Swagger operation mapping
  3. 03Chatlas tool registration
  4. 04Shiny app example

Use cases

  1. 01Running the example server and client
  2. 02Exposing Swagger operations as tools
  3. 03Trying the example with a local OpenAPI server
  4. 04Running the Shiny application

MCP support

The project includes an MCP server and client that use the Connect API. It also shows how Swagger operations can be registered as Chatlas tools.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

MCP

A simple example of a client and server using the Connect API.

Usage

Run an MCP server:

CONNECT_API_KEY="<your key>" SWAGGER_FILE="swagger.yaml" make server

Then run the MCP client:

make client

Modify the chat in the main function of app.py to ask different questions.

Swagger Usage

The code below is a snippet of how to register Swagger tools with Chatlas.

import chatlas
import requests
from openapi_mcp.chatlas import SwaggerTool
from openapi_mcp.connect_api import map_operations_to_tools
from openapi_mcp.swagger import (
    expand_all_references,
    transform_swagger_to_operation_dict,
)

api_url = "127.0.0.1:8000/"
openapi_dict = requests.get(f"{api_url}/swagger.json").json()

openapi_doc = expand_all_references(openapi_dict)
operations = transform_swagger_to_operation_dict(openapi_doc)
tools = map_operations_to_tools(operations)

aws_model = os.getenv("AWS_MODEL", "us.anthropic.claude-3-5-sonnet-20241022-v2:0")
aws_region = os.getenv("AWS_REGION", "us-east-1")
chat = chatlas.ChatBedrockAnthropic(model=aws_model, aws_region=aws_region)
for operation in api_operations.values():
    SwaggerTool.register_tool(
        chat,
        SwaggerTool(
            base_url=api_url,
            operation=operation,
        ),
    )

To see this in action, run a local OpenAPI-compatible server and run the Shiny application:

# Run the OpenAPI-compatible server
make ex-starwars
# Run Shiny
make shiny

Screenshot of Star Wars shiny app demo

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.