Skip to main content
Glama
README.md
# Test MCP

Diagram: https://excalidraw.com/#json=uRRaOjlO8rV6Og36vjPEj,LRARtOLrhz0VdTFIxjH8Rg

## Requirements

- [uv](https://docs.astral.sh/uv) to manage the Python environment
- [nodejs](https://nodejs.org/en/download) for testing
- [MCP](https://modelcontextprotocol.io) clients to actually use it
  - [Claude Desktop](https://claude.ai/download)
  - [Visual Studio Code](https://vscode.dev)
    - [Cline](https://cline.bot)
    - [Roo Code](https://roocode.com)
    - [Kilo Code](https://github.com/Kilo-Org/kilocode)
  - [Jan](https://jan.ai)

**Note**: OpenRouter has many [free models](https://openrouter.ai/models?max_price=0&order=context-high-to-low) available that you can use for testing.

## Development

For testing you can run a development server and manually run tool calls:

```sh
uv run fastmcp dev
```

The fully example is implemented in `test-mcp.py`, a minimal example you can use in your own projects is in `minimal-mcp.py`.

## Installation

To install your MCP server you need to configure an [`MCP.json`](https://gofastmcp.com/integrations/mcp-json-configuration) that looks something like this:

```json
{
  "mcpServers": {
    "test-mcp": {
      "command": "uv",
      "args": [
        "--directory",
        "/Users/admin/Projects/test-mcp",
        "run",
        "test-mcp.py"
      ],
      "timeout": 600
    }
  }
}
```

For Claude Desktop there is a [detailed guide](https://modelcontextprotocol.info/docs/quickstart/user/) available.

TDQS

B3.1/5.0

Scored across 9 tools

Disambiguation4/5

Each tool has a clearly distinct purpose (cat facts, weather, email, jokes, etc.), so there is minimal overlap. However, the wide variety of domains could confuse an agent about when to use which.

Naming Consistency2/5

Tool names are inconsistent: some use verb_noun (get_weather, list_emails), others use verb_phrase (tell_joke, find_inspiration), and one is noun_noun (cat_fact). No consistent pattern.

Tool Count3/5

The count of 9 tools is reasonable, but the server lacks a coherent domain; it feels like a random collection. For a single-purpose server it might be too many, but the number itself is not excessive.

Completeness2/5

No clear domain, so completeness is poor. Email tools have list, get, reply but no send or delete; weather is just a single lookup; other domains are single-tool only, leaving many gaps.

Maintenance

ActivityInactive
ResponsivenessNo issues