MMA MCP 服务器
 
这是为兵务厅兵役信息管理(Military Manpower Administration)API提供的模型上下文协议(MCP)服务器。
功能
该MCP服务器提供了一种工具,可在兵务厅兵役职场查询兵役特例指定企业信息。
search_designated_entities
提供兵役特例企业搜索及查询功能。
参数:
必需参数
eopjong_gbcd(字符串):选择服役形式(必填)
- '산업기능요원' - 产业功能要员(或可译为“产业技能人员”) - '전문연구요원' - 专业研究职员 - '승선근무예비역' - 登船勤务预备役
可选参数
al_eopjong_gbcd(array): 行业组代码列表
- 例: ['정보처리', '게임SW', '전자']
eopjong_gbcd_list(array): 行业选择列表
- 行业代码排列
gegyumo_cd(string): 企业规模
- '' - 全部(默认值) - '대기업' - 大企业 - '중소기업' - 中小企业 - '중견기업' - 中型企业 - '농어민후계' - 农渔民继承人 - '기타' - 其他
eopjong_cd(string | array): 行业代码
- 可以作为单一值或数组传递 - 例: '정보처리' 或者 ['정보처리', '전자']
eopche_nm(字符串):公司名称
- 按特定公司名称搜索 - 空值表示全部查询
sido_addr(字符串):选择市/道
- 例: '서울특별시', '경기도', '부산광역시' 等(注:此字单独使用时,通常作为语气词或表示列举未尽之意,在具体语境中可能需要结合上下文来确定准确含义,此处直译为“等”)
sigungu_addr(字符串):市/郡/区 地址
- sido_addr的下级地区 - 例: '강남구', '수원시' 等(此处为语气词,无实义,可不译出,或根据语境译为“等一下”等) - 空值表示查询整个市/道范围
chaeyongym(字符串):是否为兵务厅招聘公告注册企业
- '' - 全部(默认值) - 'Y' - 仅限发布招聘公告的公司
bjinwonym(string | array): 是否有TO
- 'H' - 有现役TO(技术官员) - 'B' - 有补充站TO - ['H', 'B'] - 查询现役/补充役全部人员
返回值:
- CSV格式的搜索结果(含标题)
- 最多30家供应商信息
- 每一行包含公司名称、行业、位置、TO信息等
使用示例:
// 산업기능요원 - 정보처리 업종 - 서울 강남구
{
"eopjong_gbcd": "산업기능요원",
"eopjong_cd": "정보처리",
"sido_addr": "서울특별시",
"sigungu_addr": "강남구"
}
// 전문연구요원 - 중소기업 - 채용공고 있음
{
"eopjong_gbcd": "전문연구요원",
"gegyumo_cd": "중소기업",
"chaeyongym": "Y"
}
// 특정 회사명 검색
{
"eopjong_gbcd": "산업기능요원",
"eopche_nm": "네이버"
}行业代码列表
制造业 (Manufacturing)
- 钢铁、机械、电气、电子、化工、纤维、鞋类
- 水泥工业,生活用品,通信设备
- 信息处理,游戏软件,视频游戏
- 医疗医药,食品饮料
- 农产品加工,水产品加工,林产品加工,动物药品
- 动画
矿业(Mining)
- 煤炭开采、普通矿物开采、选矿冶炼
能量(Energy)
- 能源
建筑业(Construction)
- 国内建设,国外建设
运输业(Transportation)
- 内港货物,外港货物,内港船舶管理,外港船舶管理
渔业(Fisheries)
- 近海,远洋
持续集成/持续交付(CI/CD)
此项目使用GitHub Actions提供自动化的CI/CD流水线。
自动化工作流
- CI(持续集成):
main,develop当向分支推送或创建PR时,会自动运行lint、测试和构建。 - 发布:
v*.*.*推送格式标签后,会自动创建GitHub发布版并附加构建结果。 - CodeQL安全漏洞自动分析(每周周一 + PR/Push时)
- Dependabot(依赖机器人)建议自动更新依赖项(每周)
创建发布的方法
# 버전 태그 생성 및 푸시
git tag v1.0.0
git push origin v1.0.0详细内容请见 请参考。
安装
pnpm install构建/建筑
pnpm build执行
pnpm start开发模式
pnpm dev测试
pnpm testMCP客户端设置
要在Claude Desktop或其他MCP客户端中使用此服务器,请在配置文件中添加以下内容:
Claude Desktop 设置
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json Linux: ~/.config/Claude/claude_desktop_config.json
{
"mcpServers": {
"mma": {
"command": "node",
"args": ["/path/to/agent-for-agent/dist/index.js"]
}
}
}项目结构
agent-for-agent/
├── src/
│ ├── index.ts # MCP 서버 메인 엔트리포인트
│ ├── mma-api.ts # MMA API 클라이언트 함수
│ ├── types.ts # TypeScript 타입 정의
│ └── __tests__/
│ └── mma-api.test.ts # 테스트 코드
├── dist/ # 빌드 결과물 (TypeScript 컴파일 후)
├── package.json
├── tsconfig.json
├── jest.config.js
└── README.md技术栈
- 运行时Node.js 18及以上版本
- 语言TypeScript 5.x
- 框架MCP SDK(@modelcontextprotocol/sdk)
- HTTP 客户端原生 Fetch API
- Excel 解析器xlsx(SheetJS)
- 验证佐德
- 测试Jest + ts-jest
- 代码质量ESLint,Prettier
- 包管理器pnpm
开发指南
类型系统
此项目使用TypeScript的严格模式,所有类型均 types.ts在其中定义。
API客户端
mma-api.ts包含与兵务厅API通信的逻辑:
- 表单数据的生成与编码
- HTTP请求处理
- 解析Excel文件并转换为CSV
- 错误处理
测试
使用Jest进行测试, fetch 通过模拟API,在不进行实际网络请求的情况下进行测试。
# 전체 테스트 실행
pnpm test
# Watch 모드로 테스트
pnpm test:watch代码质量
# Linting
pnpm lint
# Formatting
pnpm format许可证
麻省理工学院(MIT)
注意事项
这个服务器 兵务厅兵役网站使用其公开的API。 使用API时,必须遵守该网站的使用条款。
贡献
请将错误报告或功能建议作为问题提交。
