协议上下文模型实现

一个基于Node.js和TypeScript的协议上下文模型(MCP)实现,专注于代码质量和开发效率,适用于需要严格类型检查和高质量代码标准的开发场景。

  • by MiguelAngelGutierrezMaya
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 miguelangelgutierrezmaya/local-mcp

使用说明

MCP(原型上下文模型)

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

技术和工具

  • Node.js -执行环境
  • TypeScript -静态类型编程语言
  • pnpm -软件包管理器
  • ESLint -识别代码中问题的手电筒
  • 更漂亮 -代码格式化程序
  • 萨德 -有效性文献

代码质量配置

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

TypeScript

档案馆 tsconfig.json 包括以下配置:

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

ESLint

ESLint的配置 eslint.config.mjs 使用新的平面配置格式(平面配置),包括:

  • JavaScript和TypeScript的推荐规则
  • 预处理集成插件
  • 良好做法的具体规则:
    • 不使用未使用的变量
    • 在可能的情况下更喜欢const而不是let
    • 在控制结构中始终使用块
    • 使用严格比较(==)

更漂亮

配置 .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 -ESLint现代化配置(扁平配置)
  • .prettierrc Prettier 设置
  • tsconfig.json -TypeScript配置

实施的良好做法

  • 处理类型:提高可读性和文档的接口
  • 错误处理:使用try/catch捕获异常
  • 安全:逃离巴黎地铁网址骗局 encodeURIComponent
  • 代码清理:解释性注释,描述性变量名称
  • 链接和格式:现代Eslint和Prettier配置以保持一致