otama
otama
MCP サーバーで、Cursor、Claude Desktop、または独自のボイスエージェントなどの AI アシスタントに、ローカル git リポジトリへのアクセスを提供します。
読み取り操作は自由に実行されます。書き込みを行うツールは、最初に確認トークンと分かりやすい英語の要約を返し、そのトークンを使って2回目に呼び出されたときだけ動作します。アシスタントはコミットする前に確認を求めます。
You: commit my changes in api-service with message "fix auth timeout"
LLM: Commit 3 changed files in api-service with message 'fix auth timeout'. Confirm?
You: yes
LLM: Committed — a4f21c9 fix auth timeoutなぜ
多くのファイルシステム MCP サーバーは、モデルにディレクトリツリーへの無制限の読み書きアクセスを与えています。すべてのツール呼び出しを監視しているならそれで問題ありません。しかし、モデルがボイスアシスタントを操作している場合、無監視で実行されている場合、あるいはあなたの言葉を聞き間違えたばかりの場合には、それでは困ります。
otama はモデルが時々間違えることを前提にし、その影響を小さくします:
パスサンドボックス。 すべてのパスは、設定したルートと照合される前に解決されます。
..、シンボリックリンク、絶対パスによる逃げ道はありません。2段階の確認。 トークンなしで呼び出された書き込みツールや実行ツールは、何も実行せず、何を行おうとしているかを説明するだけです。トークンは使い切りで、2分間で失効し、発行したツールに紐付けられます。
コマンドの許可画面。
run_commandは、許可外のものを確認の対象にしてそちらに判断を求めるのではなく、無条件で拒否します。聞き間違いが、rm -rfに対して「yes」を一度押すだけ、という距離にならないようにです。
Related MCP server: Git MCP Server
インストール
Python 3.11 以上と PATH に git が必要です。
git clone https://github.com/Ronith2906/otama.git
cd otama
python -m venv .venv
.venv/bin/pip install -r requirements.txt # Windows: .venv\Scripts\pip.exe
cp otama.example.toml otama.tomlotama.toml を編集し、リポジトリを含むフォルダ(または複数のフォルダ)を project_roots に設定します。Windows ではスラッシュ(/)を使います。
[projects]
project_roots = ["C:/Users/you/code"]確認:
.venv/bin/python -c "import asyncio; from projects_server import otama; print([t.name for t in asyncio.run(otama.list_tools())])"ツール名が10個表示されたら、正常に動作しています。
接続する
Cursor の場合 — ~/.cursor/mcp.json。Claude Desktop の場合 — claude_desktop_config.json(設定 → 開発者 → 設定を編集)。どちらも同じ形です:
{
"mcpServers": {
"otama-projects": {
"command": "/absolute/path/to/otama/.venv/bin/python",
"args": ["/absolute/path/to/otama/projects_server.py"]
}
}
}Windows では JSON パスで \\ を使います — C:\\Users\\you\\otama\\.venv\\Scripts\\python.exe。
アプリを完全に再起動してください。再読込では不十分です。MCP サーバーは起動時に読み込まれます。
ツール
読み取り — 即時実行
ツール | 戻り値 |
| ルート配下にあるすべてのリポジトリまたはフォルダ( |
| 2階層のツリー。 |
| テキストファイル1つ(サイズ上限付き) |
| プロジェクト全体を正規表現で検索し、ファイル名と行番号を表示 |
| ブランチ、未コミットのファイル、直近5件のコミット |
| 作業ツリーの差分(切り詰め) |
| 直近 N 日間に全リポジトリで変更された内容 |
書き込み・実行 — 確認が必要
ツール | 実行内容 |
| 全部ステージングしてコミット |
| ファイルを作成または上書きする |
| 許可リストに含まれる開発コマンドを実行する |
設定
[projects]
project_roots = ["C:/Users/you/code"]
max_file_bytes = 200000 # refuse to read anything larger
command_timeout_seconds = 120
confirmation_ttl_seconds = 120 # how long a token stays valid
# run_command refuses anything not on this list. This is not something a
# confirmation can override — add what you actually use.
allowed_commands = ["git","npm","npx","pnpm","yarn","node",
"python","py","pip","pytest","ruff","uv",
"dotnet","cargo","go"]コントリビューターへのメモ
2段階のパターンは stage()、redeem()、_expire() に実装されています。副作用のあるツールを追加する場合も、これを使います。
維持しておきたい重要な点があります: redeem() は、ツールの種類が一致しない場合、トークンを消費しません。モデルが誤って「Wrong tool(不応したツール)」を呼び出しても、ユーザーの承認を消耗させて、操作をやり直させるべきではありません。これは実際にテストで見つかったバグです。
新たな機能サーバーも同じ形にします — 1ファイル、1ドメイン、読み取りツールは自由、書き込みツールは制限付き、バック外の行為は確認の対象ではなく拒否の対象に。
ステータス
初期段階です。 projects サーバーはテスト済みで日々日常的に使用されています。より大きなボイスアシスタントプロジェクトの一部として、さらに機能サーバー(メディア、メール、ブラウザ)を計画中です。Issue・PR も歓迎します。
ライセンス
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceA lightweight MCP server that enables AI assistants to manage local Git repositories by executing commands like status, add, and commit. It streamlines development workflows by providing repository context and diffs directly to the assistant.
- AlicenseNot gradedqualityDmaintenanceAn MCP server that provides tools for interacting with Git repositories, enabling AI assistants to manage repositories, branches, commits, and files through a standardized interface.3,7031Apache 2.0
- FlicenseNot gradedqualityDmaintenanceA local MCP server that turns AI clients into power users of local git repositories, enabling clone, browse, search, and inspect code without burning API tokens.
- FlicenseBqualityBmaintenanceA lightweight MCP server that acts as a secure proxy for AI assistants to run local Git operations and GitHub API macros simultaneously.1
Related MCP Connectors
An MCP server that gives your AI access to the source code and docs of all public github repos
A MCP server built for developers enabling Git based project management with project and personal…
Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/Ronith2906/Otama'
If you have feedback or need assistance with the MCP directory API, please join our Discord server