计数器协议服务

提供文件和文件夹、行数、单词、字符、字节以及结构化文件项目的计数功能的模型上下文协议(MCP)服务器。

  • by Bluscream
  • C#
  • 本地部署
  • 更新于
在 GitHub 查看 Bluscream/counter-mcp

使用说明

计数器MCP

一种模型上下文协议(MCP)服务器,为文件、文件夹、行、单词、字符、字节和结构化文件项提供计数功能。

特性

  • 统计目录中的文件和文件夹(可选递归搜索)
  • 统计文件或文本中的行、字、字符和字节数
  • 结构化文件类型的特殊处理:
    • INI/CFG文件:计数部分和按键
    • YAML/JSON文件:计数数组项(如果不是数组,则计数行)
    • HTML/XML文件:计数标签
  • 长时间运行操作的超时支持
  • 基于文本的计数(从提供的文本中计数行、字、字符、字节)

需求

  • .NET 10.0 SDK或更高版本
  • Windows 10.0.19041.0或更高版本

建筑

cd CounterMcp
dotnet build -c Release

可执行文件将位于: bin\Release\net10.0-windows10.0.19041.0\counter-mcp.exe

MCP配置

添加到您的 mcp.json:

{
  "counter": {
    "type": "stdio",
    "command": "P:\\MCPs\\counter-mcp\\CounterMcp\\bin\\Release\\net10.0-windows10.0.19041.0\\counter-mcp.exe",
    "args": [],
    "tools": [
      "count"
    ]
  }
}

工具: count

根据提供的参数计算各种事情。

输入参数

  • path (字符串,必填):文件或文件夹的路径
  • recursive (boolean,可选,默认值:false):当true且path是一个文件夹时,递归计算所有子项
  • timeout (整数,可选,默认值:30000):超时(毫秒)
  • text (字符串,可选):要计数的可选文本(行、单词或字符)。如果提供,则忽略路径进行文本计数。
  • types (字符串数组,必填):要执行的计数类型数组:
    • "files":计数文件
    • "folders":计数文件夹
    • "items":计数项目(cfg/ini、yaml/json、html/xml的特殊处理)
    • "lines":计数行
    • "words":字数统计
    • "chars":计数字符
    • "bytes":计数字节数

特殊“物品”类型行为

当 "items" 包含在types数组中:

  • .cfg/.ini 文件:退货 { "sections": <n>, "keys": <n> }
  • .yaml/.yml/.json 文件:如果文件包含数组,则返回数组项计数,否则返回行计数
  • .html/.htm/.xml 文件:返回标记的数量
  • 其他文件:返回行数

示例响应

统计目录中的文件:

{
  "files": 42
}

统计INI文件中的项目:

{
  "items": {
    "sections": 5,
    "keys": 23
  }
}

计算多种类型:

{
  "files": 10,
  "folders": 3,
  "lines": 1250,
  "words": 8500,
  "chars": 45000,
  "bytes": 48000
}

直接计数文本:

{
  "lines": 5,
  "words": 42,
  "chars": 250,
  "bytes": 250
}

许可证

麻省理工学院