Skip to main content
Glama

hsh-erp-mcp

hsh-erp monorepo 的 MCP(Model Context Protocol)服务器子模块脚手架。

当前实现:一个 echo hello world 工具,零外部依赖。后续在此基础上扩展业务工具。

tools/srm/:从 hsh-erp 旧 e2e/scripts/(与测试同仓)迁来的 SRM 浏览器自动化脚本(采购订单导出 / 历史价批量下载 / 应标项目下载)。后续会把 srm-export / srm-historical-price / srm-bid-download 包装成 MCP tools(每个工具就是一个 server.registerTool(...)),当前仍以独立 tsx + docker-run.sh 在 Playwright Docker 镜像内跑。

快速开始

npm install            # 安装依赖(首次)
npm start              # 启动 stdio 服务器(= tsx src/index.ts)
npm run inspect        # 用 @modelcontextprotocol/inspector 在浏览器调试

# SRM 浏览器自动化(独立子项目)
npm run srm:export -- 6200039492              # 采购订单导出
npm run srm:export:headed -- 6200039492       # headed 调试

Related MCP server: claw-mcp-toolkit

项目结构

mcp/
├── package.json       # 依赖与脚本(type=module, tsx 直接执行 TS);npm scripts 含 srm:export 系列
├── tsconfig.json      # ES2022 + NodeNext
├── src/
│   └── index.ts       # 服务器入口 + createServer() 工厂 + registerTool()
├── tools/
│   └── srm/           # 从 e2e/scripts/ 迁来(详见 tools/srm/README.md)
│       ├── srm-export.ts            # 采购订单 Excel
│       ├── srm-historical-price.ts  # 历史价批量下载
│       ├── srm-bid-download.ts      # 应标项目批量下载
│       ├── env.ts                   # 凭据读取
│       ├── docker-run.sh            # Playwright Docker 一键封装
│       ├── package.json             # 子项目依赖(playwright + tsx)
│       ├── tsconfig.json
│       ├── .env.example             # SRM_USERNAME / SRM_PASSWORD 模板
│       └── README.md
└── ...

如何添加新工具

src/index.tscreateServer() 里继续调用 server.registerTool(...)

server.registerTool(
  'my-tool',
  {
    description: '...',
    inputSchema: z.object({ ... }),  // zod v4 单 schema,handler 类型由 SDK 推导
  },
  async (args) => ({
    content: [{ type: 'text', text: '...' }],
  })
);

每个工具的 inputSchema 必须是单一 zod schema,handler 返回值结构:

{ content: [{ type: 'text', text: '...' }], isError?: boolean }

调试

npm run inspect 启动 inspector 后浏览器操作:

  1. Connect

  2. Tools 标签

  3. 选工具,填参数,Call

也可在 inspector 里观察 initialize / tools/list / tools/call 的 JSON-RPC 消息体,确认 stdout 通道无杂输出。

硬约束

  • stdout 是 JSON-RPC 协议流——禁止 console.log / process.stdout.write,调试只准走 console.error

  • zod 锁 v4,import 用 zod/v4不要 混 v3。

子模块工作流(与 hsh-erp monorepo 一致)

子模块内提交 → 推送子模块远端 → 根仓库 git add mcp 提交新 SHA。

Available Tools

1 tool
echoA

Echo back the input message. Hello-world scaffold for hsh-erp MCP server.

ParametersJSON Schema
NameRequiredDescriptionDefault
messageYesText to echo back

TDQS

A4.1/5.0
Behavior4/5

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

No annotations are provided, so the description carries the burden of behavioral disclosure. 'Echo back the input message' clearly conveys the operation and its lack of side effects in this trivial case, and 'Hello-world scaffold' sets expectations of simplicity.

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?

Two short sentences, no wasted words. The core behavior is front-loaded and the scaffold context is provided in a single additional clause.

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

Completeness5/5

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

For a one-parameter echo tool with no output schema and no sibling tools, the description is fully sufficient. An agent can correctly select and invoke this tool based on the provided information alone.

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 description coverage is 100%: the message parameter is already described as 'Text to echo back.' The description adds no additional parameter semantics, but none are needed given the schema already fully documents the only parameter.

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?

Description states a specific verb and resource: 'Echo back the input message.' It is immediately clear what the tool does and what data it operates on. The 'Hello-world scaffold' phrase adds useful context about its role.

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

Usage Guidelines3/5

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

The description implies this is a test/demo scaffold for the hsh-erp MCP server, which suggests when it might be used. However, it does not explicitly state when to use it over alternatives or when not to use it, though no siblings exist to differentiate from.

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

TDQS

A3.8/5.0
Disambiguation5/5

With only one tool, there is no possibility of confusing it with other tools. The echo tool is clearly distinct simply by being the only tool available.

Naming Consistency5/5

A single tool name cannot exhibit inconsistency. 'echo' is a simple, valid name, and the lack of other tools means no conflicting naming patterns exist.

Tool Count1/5

An ERP server with a single echo/hello-world tool is an extreme mismatch. The tool is trivial and entirely unrelated to ERP functionality, making the count grossly inappropriate for the stated domain.

Completeness1/5

The server claims to be an ERP MCP server but only provides an echo tool. There are no operations for any ERP entities or workflows, resulting in a severely incomplete surface.

Maintenance

ActivityMaintained
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

  • F
    license
    Not graded
    quality
    D
    maintenance
    A template MCP server built with mcp-framework that provides a foundation for building custom tools. Currently includes example tool implementations that can be extended for HR management system integrations.
  • A
    license
    B
    quality
    D
    maintenance
    Production-ready TypeScript MCP server exposing utility, GitHub, and Microsoft Teams tools over stdio.
    14
    1
    MIT

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/kurisu-004/hsh-erp-mcp'

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