Skip to main content
Glama

ai-mcp

Lightweight MCP server for agent, register tools.

Overview

This project creates minimal MCP services that expose small tools (examples: system info, weather lookup) and run them via standard input/output. It is intended as a reference for wiring functions into MCP FastMCP instances.

Related MCP server: mon-serveur-mcp

Files

  • system_information_mcp.py — implement system information MCP and register tool get_system_info.

  • weather_mcp.py — implement weather MCP and register tools to get weather info using the U.S. National Weather Service API.

  • pyproject.toml — project metadata and dependencies.

  • .python-version — recommended Python version (3.12).

Requirements

  • Python 3.12

  • Recommended: use a virtual environment

Configuration agent

Configure MCP server in Cline

 "system information mcp": {
      "disabled": false,
      "timeout": 60,
      "type": "stdio",
      "command": "uv",
      "args": [
        "--directory",
        "D:/YJWANG/workspace/code/ai/ai-mcp",
        "run",
        "system_information_mcp.py"
      ]
    },
    "weather mcp": {
      "disabled": false,
      "timeout": 60,
      "type": "stdio",
      "command": "uv",
      "args": [
        "--directory",
        "D:/YJWANG/workspace/code/ai/ai-mcp",
        "run",
        "weather_mcp.py"
      ]
    }

You should change the path according to your envrionment.

Run

  • System info MCP:

uv run system_information_mcp.py
  • Weather MCP (weather_mcp.py):

uv run weather_mcp.py

Each script creates a FastMCP instance, registers one or more tools, and runs in stdio mode. Use your MCP-compatible client or protocol over stdio to call the registered tools.

Then, you can ask questions in agent, such as Cline

How about tomorrow weather in Regina, SK
What is your computer's OS?

Available Tools

1 tool
get_system_infoA

Retrieve system information including OS, CPU, and memory details. Returns: dict[str, str]: A dictionary containing system information.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description carries the full burden. It states 'Retrieve' implying a read-only operation, but does not disclose other behavioral traits such as authorization needs, rate limits, or data freshness. For a simple retrieval tool, it is passable but not transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences: one stating the purpose, one detailing the return type. No unnecessary words, front-loaded with the action, and efficiently structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given zero parameters and an output schema that exists (though not shown), the description adds value by stating the return type (dict[str, str]). It is adequately complete for a simple info tool, though it could mention potential errors or data freshness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and schema coverage is 100% (no params). The baseline for 0 parameters is 4. The description does not need to add parameter info, so it meets the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Retrieve system information including OS, CPU, and memory details.' It uses a specific verb ('Retrieve') and resource ('system information'), and lists key components. With no sibling tools, differentiation is not needed.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool or any prerequisites. While the purpose is straightforward, the description lacks explicit usage context or alternatives, so it's merely adequate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

TDQS

A4.1/5.0
Disambiguation5/5

Only one tool exists, so there is no possibility of confusion with other tools.

Naming Consistency5/5

The single tool uses a clear verb_noun pattern (get_system_info), which is consistent and self-explanatory.

Tool Count3/5

While one tool is minimal, it is appropriate for the narrow scope of retrieving system information; however, the server could benefit from additional related tools to be more useful.

Completeness5/5

For the stated purpose of providing system information, the tool covers OS, CPU, and memory details comprehensively with no obvious gaps.

Maintenance

ActivityInactive
ResponsivenessNo issues

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

Related MCP Servers

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/wangyj641/ai-mcp'

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