Skip to main content
Glama
TJYOYO
by TJYOYO

MCP 项目

MCP Official

Python SDK

A minimal FastMCP server demo with example tools.

Requirements

  • Python 3.13+

  • uv

Related MCP server: FastMCP Demo Server

init evn

uv init .

安装 MCP SDK

MCP SDK 是一个 Python 库,提供了与 MCP 服务器进行通信的接口。它允许开发者轻松地构建与 MCP 服务器交互的应用程序。

uv add "mcp[cli]"

写MCP的具体实现

1: 使用注解@mcp.tool()修饰,然后完成一个function 函数,like

@mcp.tool()
def generate_leave_email(date: str) -> str:
    """Generate a leave request email for the given date (YYYY-MM-DD)."""
    return (
        f"Hi, all, I'll take a leave on {date}. "
        "If you have any questions, please let me know. Thanks! Best regards, [Your Name]"
    )

2: mcp启动方法

if __name__ == "__main__":
    mcp.run()

添加到VS Code for Windows

方式1: 在.vscode目录下创建mcp.json文件,并添加以下内容:

{
    "servers": {
        "mcp-server": {
           "type": "stdio",
           "command": "C:\\Users\\tianjin\\.local\\bin\\uv.exe",
           "args": ["run", "python", "main.py"],
           "cwd": "D:\\AI\\mcp-server"
        }
    },
    "inputs": []
}

1: "mcp-server": 是服务器的名称,可以自定义。

2: "type": "stdio": 指定服务器的通信方式为标准输入输出。

3: "command": "C:\Users\tianjin\.local\bin\uv.exe": 指定要运行的命令,这里是uv.exe的路径。

4: "args": ["run", "python", "main.py"]: 指定运行命令的参数,这里是运行Python脚本main.py。

5: "cwd": "D:\AI\mcp-server": 指定服务器的工作目录,这里是mcp-server的路径。

方式2:通过mcp servers插件,然后命令面板(Ctrl+Shift+P)选择 "MCP: Add Server",然后按照提示输入服务器的名称、类型、命令、参数和工作目录。

添加到VS Code for MAC

like, another server config.

"testMcp": {
           "command": "uv",
           "args": [
           "run",
              "--project",
              "/Users/jacktian/Desktop/AI/McpTest",
           "python",
           "/Users/jacktian/Desktop/AI/McpTest/main.py"
           ]
        }

start server

在mcp.json中,点击start 按钮,然后就可以在copilot中使用mcp-server了。

validation

image

克隆后首次运行(避免 mcp.server.fastmcp 无法 resolve)

拉取仓库后,如果编辑器提示 mcp.server.fastmcp 无法解析,通常是因为还没在当前工作区安装依赖,或 VS Code 没选中项目虚拟环境。

建议按下面顺序执行:

  1. 在项目根目录创建并同步依赖(会根据 pyproject.tomluv.lock 安装 mcp):

    • uv sync

  2. 在 VS Code 里选择解释器为项目下 .venv

  3. 重载窗口或重启 Python Language Server。

本仓库已包含 .vscode/settings.json,会优先指向 ${workspaceFolder}/.venv/bin/python

Available Tools

1 tool
add_numbersA

Add two numbers together. Args: a: The first number. b: The second number. Returns: The sum of a and b.

ParametersJSON Schema
NameRequiredDescriptionDefault
aYes
bYes

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?

With no annotations, the description bears full burden but only states the basic operation and return value. It does not disclose potential side effects or special behaviors, though the tool is simple enough that this may be adequate.

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 concise with a front-loaded purpose statement and structured Args/Returns sections. Every sentence adds value without redundancy.

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?

For a simple tool with full schema and output schema, the description provides adequate context. It could mention that it returns an integer sum, but the schema already implies that.

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

Parameters3/5

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

Schema coverage is 0%, so description must compensate. It labels parameters as 'first number' and 'second number', adding minimal context beyond types, but lacks constraints like range or precision.

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 'Add two numbers together' with a specific verb and resource. There are no sibling tools, so 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 Guidelines4/5

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

The description is straightforward and implies usage for adding two numbers. No alternatives exist, so explicit exclusions are unnecessary, but more context about when to use could be added.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 1 tool updatev0.1.0
    • First observedadd_numbers

TDQS

A3.9/5.0
Disambiguation5/5

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

Naming Consistency5/5

The single tool uses a clear verb_noun pattern ('add_numbers'), consistent with common conventions.

Tool Count3/5

With only one tool, the server feels minimal for a generic name like 'mcp-server', but it could be appropriate if the scope is intentionally narrow.

Completeness2/5

The server only provides addition, missing other basic arithmetic operations, leaving significant gaps for mathematical tasks.

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

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    A minimal MCP server example that provides basic utility tools including text echo and current time retrieval. Serves as a simple starting point for building MCP servers with fastmcp.
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    A minimal demonstration MCP server built with FastMCP that exposes a simple greeting tool, showcasing basic server setup and remote deployment capabilities.
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A bare-bones FastMCP server template designed to serve as a starting point for building custom Model Context Protocol servers. It provides a foundational structure for implementing tools over HTTP and includes a built-in health check utility.
    GPL 3.0

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/TJYOYO/mcp-server'

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