Skip to main content
Glama
Dhavaleswar

Explore MCP

by Dhavaleswar
README.md2.88 kB
# Explore MCP This repo runs a local MCP (Model Context Protocol) server, verifies tool connectivity with a client, and demonstrates OpenAI tool-calling integration. ## Prerequisites - Python 3.13 (per `pyproject.toml`). - Linux/macOS shell (commands shown for bash). - An OpenAI API key. - Dependencies listed in `pyproject.toml`. ## Install dependencies You can use uv, poetry, or pip. Pick one approach. ### Option A: uv (fast, recommended) ```bash # If uv is not installed, see https://docs.astral.sh/uv/getting-started/ uv sync ``` ### Option B: poetry ```bash poetry install poetry shell ``` ### Option C: pip + venv ```bash python -m venv .venv source .venv/bin/activate pip install -r requirements.txt . ``` ## Set OpenAI API key The script `utils/helpers.py` expects your key in a file at: - `~/.llm_secrets` with content like: ```text OPENAI_API_KEY=sk-... ``` Alternatively, you can set the environment variable directly in your shell before running the OpenAI test: ```bash export OPENAI_API_KEY=sk-... ``` Note: `call_my_mcp2.py` imports `get_api_key()` and sets `os.environ["OPENAI_API_KEY"]` internally using the `~/.llm_secrets` file. If that file is missing, set the env var as shown above or create the file. ## Start the MCP server This launches the FastAPI app serving the MCP endpoint at `http://127.0.0.1:8000/mcp`. ```bash python mcp_server.py ``` Expected log: uvicorn starts and listens on port 8000. ## Health check: MCP client In a separate terminal (while the server is running), verify connectivity and tool discovery. ```bash python mcp_client_check.py ``` Expected output: A tools list including `ping`, `add`, and `subtract`. ## OpenAI integration test With the server running and your OpenAI key available, run the LLM orchestration demo: ```bash python mcp_llm_mode2.py ``` What it does: - Discovers MCP tools from the server. - Provides those tools to the OpenAI Chat Completions API. - Lets the model call `add` and returns the final answer. Expected: The printed result of adding two numbers (e.g., `68` for 23 + 45). ### Notes - The script uses model `gpt-5`. If this model is not available on your account, change it inside `call_my_mcp2.py` to a model you have access to (e.g., `gpt-4.1-mini` or another supported tools-capable model). - Ensure the server URL in `call_my_mcp2.py` and `mcp_client_check.py` matches `http://127.0.0.1:8000/mcp`. - If port 8000 is in use, edit `mcp_server.py` to run uvicorn on a different port and update the client scripts accordingly. ## Files - `mcp_server.py`: FastAPI + FastMCP server exposing tools: `ping`, `add`, `subtract`. - `mcp_client_check.py`: Async client that pings the server and lists tools. - `call_my_mcp2.py`: Orchestrates an OpenAI chat with MCP tools. - `utils/helpers.py`: Utility to load the OpenAI API key from `~/.llm_secrets` or set env vars from a JSON file.

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/Dhavaleswar/explore-mcp'

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