aira-mcp-server
aira-mcp-server MCP 服务器
用于从 git 暂存文件创建提交消息的模型上下文协议服务器
这是一个基于 TypeScript 的 MCP 服务器,实现了一个简单的笔记系统。它通过提供以下内容来演示 MCP 的核心概念:
Git 状态信息检索
使用常规提交格式创建提交消息
Gitflow初始化与管理
分支操作(创建、合并、列出)
🚀 功能
📝 常规提交消息生成
🌳 Gitflow 工作流程支持
🔍 Git 状态检查
🔄 分支管理
Related MCP server: Git Prompts MCP Server
🛠️ 安装
npm install
npm run build📖 使用方法
在您的设置中配置 MCP 服务器:
{
"mcpServers": {
"aira": {
"command": "node",
"args": ["path/to/aira-mcp-server/build/index.js"]
}
}
}🔧 可用工具
获取状态
检索 Git 状态信息。
创建提交
为指定文件创建并执行提交。
init_gitflow
初始化 Gitflow。
创建分支
创建新分支。
合并分支
根据 Gitflow 合并分支。
列出分支
列出所有 Gitflow 分支。
📄 许可证
MIT 许可证
Available Tools
2 toolscreate_commitB
指定したファイルに対してコミットを作成・実行します。※1度に1ファイルのみコミット可能です
| Name | Required | Description | Default |
|---|---|---|---|
| body | No | コミットの本文(オプション) | |
| emoji | Yes | コミットメッセージに使用する絵文字 | |
| file | Yes | コミット対象のファイルパス(1ファイルのみ指定可能) | |
| footer | No | コミットのフッター(オプション) | |
| issueNumber | No | GitHub Issue番号(オプション) | |
| language | No | コミットメッセージの言語(デフォルト: ja) | |
| path | Yes | Gitリポジトリの絶対パス | |
| title | Yes | コミットのタイトル | |
| type | Yes | コミットの種類 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. It mentions the 'create/execute' action and the single-file constraint, but lacks details on permissions needed, whether changes are reversible, error handling, or rate limits. For a mutation tool with zero annotation coverage, this is a significant gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient sentence that front-loads the core purpose. Every word contributes meaning, with no wasted text. It could potentially be slightly more structured but remains highly concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (9 parameters, mutation operation) and lack of both annotations and output schema, the description is incomplete. It covers the basic action and constraint but misses critical behavioral context like permissions, error cases, and return values. The schema handles parameters well, but the description doesn't compensate for other gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema fully documents all 9 parameters. The description adds no parameter-specific information beyond what's in the schema. According to scoring rules, when schema coverage is high (>80%), the baseline is 3 even with no param info in the description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('create/execute a commit') and resource ('for specified files'), with the specific constraint 'only one file at a time'. It distinguishes from the sibling 'get_status' by being a write operation versus a read operation. However, it doesn't explicitly name the sibling as an alternative.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage context through the constraint 'only one file at a time', which suggests when to use this tool versus alternatives that might handle multiple files. However, it doesn't explicitly state when-not-to-use scenarios or name specific alternatives beyond the general sibling distinction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_statusC
Gitのステータス情報を取得します
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | Gitリポジトリの絶対パス |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries full burden for behavioral disclosure. While '取得します' (get/retrieve) implies a read operation, the description doesn't specify what 'Git status information' includes, whether authentication is required, potential rate limits, or what format the information returns. This leaves significant behavioral gaps.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, efficient Japanese sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized for a simple tool with one parameter and gets straight to the point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with no annotations and no output schema, the description is insufficient. It doesn't explain what 'Git status information' includes, what format it returns, or any behavioral constraints. Given the complexity of Git operations and lack of structured documentation, more context is needed for the agent to use this tool effectively.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% description coverage, with the single parameter 'path' clearly documented as 'Gitリポジトリの絶対パス' (absolute path to Git repository). The tool description doesn't add any parameter information beyond what's already in the schema, so the baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the action ('取得します' - get/retrieve) and resource ('Gitのステータス情報' - Git status information), making the purpose immediately understandable. However, it doesn't distinguish this tool from its sibling 'create_commit', which is a different operation but related to Git repository management.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance is provided about when to use this tool versus alternatives. The description doesn't mention prerequisites, appropriate contexts, or relationship to the sibling 'create_commit' tool, leaving the agent without usage direction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v1.0.0- First observed
create_commit - First observed
get_status
TDQS
Scored across 2 tools
The two tools have completely distinct purposes: create_commit performs a write operation to commit a file, while get_status performs a read operation to retrieve Git status information. There is no overlap or ambiguity between them.
Both tools follow a consistent verb_noun pattern (create_commit, get_status) with clear, descriptive names that indicate their actions and targets. The naming is uniform and predictable.
With only 2 tools, the server feels severely under-scoped for Git operations. While the tools cover basic commit creation and status checking, essential operations like cloning, branching, merging, or viewing history are missing, making it inadequate for typical Git workflows.
The toolset is highly incomplete for a Git server. It lacks fundamental operations such as clone, push, pull, branch, merge, log, or diff, which are critical for agent-driven Git management. Agents will encounter dead ends when trying to perform common Git tasks.
Maintenance
Related MCP Connectors
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Model Context Protocol server for Studex tools, notifications, and profile integrations
Enable secure connectivity between Sentry issues and debugging data, and LLM clients, using a Model Context Protocol (MCP) server.
Related MCP Servers
- AlicenseBqualityAmaintenanceA Model Context Protocol server for Git repository interaction and automation. This server provides tools to read, search, and manipulate Git repositories via Large Language Models.1257,038 PyPI91,120MIT
- AlicenseBqualityDmaintenanceA Model Context Protocol server that generates prompts based on Git repository content, including a command to generate PR descriptions from diffs.32MIT
- AlicenseBqualityNot gradedmaintenanceA Model Context Protocol server that provides Commitizen functionality, enabling AI assistants to generate, validate, and work with conventional commit messages.21MIT
- AlicenseAqualityDmaintenanceAnalyzes Git repository changes and generates conventional, context-aware commit messages using the Model Context Protocol.15MIT