Skip to main content
Glama

MCP Server for Local

一个基于 MCP (Multi-Component Platform) 的本地代理服务器和客户端实现,提供多种 AI 工具调用能力。

功能特点

核心功能

  • 天气查询:实时获取全球任意位置的天气信息,支持温度、湿度、风速等详细数据

  • 谷歌搜索:智能检索互联网信息,支持多语言和高级搜索语法

  • 摄像头控制:支持拍照、视频流和微表情分析,可用于情绪识别

  • 图片生成:集成 ComfyUI,支持文本到图像的 AI 生成

  • 智能对话:基于 DashScope 的 AI 对话能力,支持上下文理解和多轮对话

技术特性

  • 跨平台支持(Windows 和 Linux)

  • 模块化设计,易于扩展新功能

  • 完整的日志系统,便于调试和监控

  • 支持自定义工具和 API 集成

  • 高性能并发处理能力

Related MCP server: MCP Toolkit

环境配置

系统要求

  • Python 3.8+

  • Node.js (可选,用于运行 JavaScript 服务器)

  • Chrome 浏览器(用于谷歌搜索功能)

  • 摄像头(用于拍照功能)

  • 至少 4GB 内存

  • 支持 CUDA 的显卡(可选,用于加速 AI 计算)

安装步骤

  1. 克隆仓库:

git clone https://github.com/yourusername/mcp-server-for-local.git
cd mcp-server-for-local
  1. 创建并激活虚拟环境:

# Windows
python -m venv .venv
.venv\Scripts\activate

# Linux
python3 -m venv .venv
source .venv/bin/activate
  1. 安装依赖:

# 使用 uv 安装依赖
uv pip install -r requirements.txt

# 如果遇到网络问题,可以使用国内镜像
uv pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
  1. 配置环境变量:

# 复制环境变量模板
cp .env.example .env

# 编辑 .env 文件,设置你的配置

环境变量配置

编辑 .env 文件,设置以下配置:

  • DASHSCOPE_API_KEY: DashScope API 密钥(必填)

  • MODEL: 使用的模型名称(默认:qwen-max)

  • CONFIG_FILE: 服务器配置文件路径

  • GAODE_API_KEY: 高德地图 API 密钥(用于天气查询)

  • CHROME_PATH: Chrome 浏览器路径

  • CHROMEDRIVER_PATH: ChromeDriver 路径

  • BASE_URL: ComfyUI 服务器地址

  • SERVERS_DIR: 服务器脚本目录

  • LOG_LEVEL: 日志级别(可选:DEBUG, INFO, WARNING, ERROR)

使用方法

基本使用

  1. 进入项目目录:

cd src/mcp
  1. 运行客户端:

uv run .\client\mcp_client.py .\proxy\proxy_server.py
  1. 在客户端中输入命令,例如:

  • "北京的天气怎么样?"

  • "在谷歌上搜索 Python 教程"

  • "拍照"

  • "生成一张猫的图片"

高级功能

  1. 自定义工具

    • src/mcp/tools 目录下添加新的工具类

    • 实现必要的接口方法

    • 在配置文件中注册新工具

  2. API 扩展

    • 支持添加新的 API 服务

    • 可配置 API 密钥和端点

    • 支持自定义请求和响应处理

  3. 日志管理

    • 支持多级别日志记录

    • 可配置日志输出位置

    • 支持日志轮转和归档

常见问题

安装问题

  1. 依赖安装失败:

# 尝试清理缓存后重新安装
uv pip cache purge
uv pip install -r requirements.txt
  1. 虚拟环境问题:

# 如果激活失败,尝试重新创建虚拟环境
rm -rf .venv
python -m venv .venv

运行问题

  1. 权限问题:

# Linux
chmod +x src/mcp/proxy/proxy_server.py
chmod +x src/mcp/client/mcp_client.py
  1. Chrome 相关问题:

  • 确保 Chrome 和 ChromeDriver 版本匹配

  • 检查 Chrome 路径是否正确

  • 确保有足够的权限运行 Chrome

  • 如果遇到驱动问题,可以手动下载对应版本的 ChromeDriver

  1. API 密钥问题:

  • 检查 .env 文件中的 API 密钥是否正确

  • 确保 API 密钥有足够的配额

  • 检查网络连接是否正常

开发指南

项目结构

src/mcp/
├── client/          # 客户端代码
├── proxy/           # 代理服务器代码
├── tools/           # 工具实现
├── utils/           # 工具函数
└── config/          # 配置文件

添加新功能

  1. tools 目录下创建新的工具类

  2. 实现必要的接口方法

  3. 在配置文件中注册新工具

  4. 编写测试用例

  5. 更新文档

贡献指南

欢迎提交 Issue 和 Pull Request!在提交之前,请确保:

  1. 代码符合项目规范

  2. 添加了必要的测试

  3. 更新了相关文档

  4. 通过了所有测试

许可证

MIT License

Available Tools

1 tool
proxy_tool_callC

代理工具,根据工具名动态调用其他服务端的工具,输入格式为字典:{'tool': 'tool_name', 'args': {...}}

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsYes

TDQS

C2.4/5.0
Behavior2/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It describes the input format but fails to mention critical aspects like error handling, authentication requirements, rate limits, or what happens if the proxied tool fails. The description is insufficient for a mutation-capable tool with zero annotation coverage.

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

Conciseness4/5

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

The description is brief and front-loaded with the core purpose, using only two sentences. While efficient, it might be overly concise given the tool's complexity, as it omits necessary details that would help the agent use it effectively.

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

Completeness2/5

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

Given the tool's complexity (dynamic tool calling with nested objects), lack of annotations, no output schema, and low schema coverage, the description is incomplete. It doesn't cover return values, error cases, or operational constraints, making it inadequate for safe and effective use by an AI agent.

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

Parameters2/5

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

Schema description coverage is 0%, and the description only partially compensates by specifying the input format as a dictionary with 'tool' and 'args' keys. However, it doesn't explain the semantics of 'tool' (e.g., valid tool names) or 'args' (e.g., expected structure), leaving significant gaps in parameter understanding beyond the basic schema.

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

Purpose3/5

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

The description states the tool 'dynamically calls other server-side tools based on tool name', which provides a general purpose but lacks specificity about what types of tools or services it proxies. It doesn't distinguish from siblings since there are none, but the verb+resource combination ('proxy' + 'tool call') is somewhat vague about the actual operation.

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

Usage Guidelines2/5

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

The description provides no guidance on when to use this tool versus alternatives, prerequisites, or context for its application. It mentions the input format but doesn't explain scenarios where dynamic tool calling is preferred over direct invocation, leaving the agent with minimal usage direction.

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 updatev1.0.0
    • First observedproxy_tool_call

TDQS

C2.7/5.0
Disambiguation5/5

With only one tool, there is no possibility of ambiguity or overlap between tools. The single tool has a clearly defined and distinct purpose as a proxy for dynamic tool calls.

Naming Consistency5/5

There is only one tool name, so naming consistency is inherently perfect. The tool follows a clear snake_case pattern (proxy_tool_call), which is appropriate for its function.

Tool Count2/5

A single tool is generally too few for most server purposes, as it limits functionality and forces all operations through a proxy. This feels thin and may not provide a complete or intuitive interface for agents.

Completeness1/5

The server's purpose is unclear from the single tool, but as a proxy server, it lacks any direct operations or domain coverage. There are significant gaps, as it relies entirely on external tools without providing its own functionality, making it severely incomplete for any defined domain.

Maintenance

ActivityInactive
ResponsivenessSyncing

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

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • A Model Context Protocol server for Wix AI tools

  • The Mercado Pago MCP Server implements the Model Context Protocol to provide AI agents and LLMs with access to Mercado Pago's APIs and tools within compatible development environments. It acts as an intermediary that translates Mercado Pago resources into executable functions (tools) that AI applications can invoke to perform actions and automate flows. The server simplifies integration, enables using documentation to implement or improve code, and optimizes operations through natural language interactions without manual implementations.

  • The Telnyx MCP server is an official implementation of the Model Context Protocol that enables AI clients (like Claude Desktop, Cursor, and OpenAI Agents) to interact with Telnyx's telephony, messaging, and AI assistant APIs. It provides comprehensive capabilities including making and managing phone calls, sending SMS/MMS messages, purchasing and configuring phone numbers, creating AI assistants with custom instructions, managing cloud storage buckets, scraping and embedding website content, and handling integration secrets. The server exists as both a local implementation and a remotely hosted version, allowing developers to integrate real-world communication infrastructure directly into AI applications.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A comprehensive Model Context Protocol server implementation that enables AI assistants to interact with file systems, databases, GitHub repositories, web resources, and system tools while maintaining security and control.
    81
    2
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A Flask-based server that implements Model Context Protocol to enhance LLMs with external tool capabilities via natural language, allowing tools like weather lookup and calculations to be invoked directly in the model's text output.
    2
    -

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/Dreamboat-Rachel/MCP-Server-For-Local'

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