mcpField
M
MCP (Modelo de Contexto de Protocolo)

MCP (Modelo de Contexto de Protocolo)

本地服务
github.com/MiguelAngelGutierrezMaya地图与出行077 周前更新

关于 MCP (Modelo de Contexto de Protocolo)

这是一个使用 Node.js 和 TypeScript 构建的本地 MCP 服务,提供天气查询工具。项目也包含类型检查、错误处理和代码格式规范配置。

主要功能

  1. 01提供天气查询工具
  2. 02使用 TypeScript 接口
  3. 03包含异常捕获处理
  4. 04配置 ESLint 与 Prettier

适用场景

  1. 01在 MCP 客户端中查询天气
  2. 02基于 TypeScript 开发本地 MCP 服务

MCP 相关

该服务向 MCP 客户端提供天气查询工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"local": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/inspector"
]
}
}
}
启动命令npx -y @modelcontextprotocol/inspector

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@modelcontextprotocol/inspector

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

MCP(协议上下文模型)

本项目是遵循良好开发实践的协议上下文模型(MCP)实现。

技术与工具

  • Node.js - 运行时环境
  • TypeScript - 静态类型编程语言
  • pnpm - 包管理器
  • ESLint - 用于识别代码问题的代码检查工具
  • Prettier - 代码格式化工具
  • Zod - 模式验证库

代码质量配置

项目配置了以下工具,以确保代码质量:

TypeScript

tsconfig.json 文件包含以下配置:

  • 启用严格模式
  • 高级类型检查
  • 支持 ES 模块
ESLint

eslint.config.mjs 中的 ESLint 配置使用新的扁平配置格式(Flat Config),并包含:

  • JavaScript 和 TypeScript 推荐规则
  • 与 Prettier 集成的插件
  • 针对良好实践的特定规则:
    • 不使用未使用的变量
    • 尽可能使用 const 而非 let
    • 始终在控制结构中使用代码块
    • 使用严格相等比较(===)
Prettier

.prettierrc 中的配置定义了:

  • 使用单引号
  • 在语句末尾添加分号
  • 最大行长度
  • 其他用于保持格式一致的配置

可用命令

# Iniciar en modo desarrollo
pnpm dev

# Construir el proyecto
pnpm build

# Iniciar en modo producción
pnpm start

# Verificar el código con ESLint
pnpm lint

# Corregir problemas automáticamente con ESLint
pnpm lint:fix

# Formatear el código con Prettier
pnpm format

# Inspeccionar el MCP utilizando el inspector
npx @modelcontextprotocol/inspector npx -y tsx src/main.ts

项目结构

  • src/main.ts - 主要入口点,实现了一个用于查询天气的 MCP 服务
  • src/interfaces.ts - 接口定义,用于提升可读性并完善文档
  • dist/ - 编译后的代码(运行 build 时生成)
  • eslint.config.mjs - 现代格式(Flat Config)的 ESLint 配置
  • .prettierrc - Prettier 配置
  • tsconfig.json - TypeScript 配置

已实施的良好实践

  • 类型处理:使用接口提升可读性并完善文档
  • 错误处理:使用 try/catch 捕获异常
  • 安全性:使用 encodeURIComponent 转义 URL 参数
  • 整洁代码:添加说明性注释,并使用描述性变量名
  • 代码检查与格式化:使用现代 ESLint 和 Prettier 配置来保持一致性

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。