Skip to main content
Glama

otama

Un servidor MCP que da a los asistentes de IA — Cursor, Claude Desktop o tu propio agente de voz — acceso a tus repositorios git locales.

Las operaciones de lectura se ejecutan libremente. Cualquier operación de escritura devuelve antes un token de confirmación y un resumen en lenguaje claro, y solo actúa cuando se llama una segunda vez con ese token. El asistente pregunta antes de hacer commit.

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

Por qué

La mayoría de los servidores MCP de sistema de archivos dan al modelo acceso de lectura y escritura sin restricciones a un árbol de directorios. Eso está bien cuando vigilas cada llamada a herramienta. No está bien cuando el modelo está guiando a un asistente de voz, trabajando sin supervisión o acaba de oírte mal.

otama asume que el modelo se equivocará de vez en cuando y hace que las consecuencias sean pequeñas:

  • Un sandbox de rutas. Cada ruta se resuelve antes de comprobarse contra tus raíces configuradas. .., los enlaces simbólicos y las rutas absolutas no pueden escapar.

  • Confirmación en dos fases. Las herramientas de escritura y ejecución llamadas sin un token no hacen nada más que describir lo que harían. Los tokens son de un solo uso, caducan a los dos minutos y están vinculados a la herramienta que los emitió.

  • Una lista de comandos permitidos. run_command rechaza por completo cualquier cosa fuera de la lista en lugar de ofrecerla para confirmación. Un malentendido nunca debe estar a un «sí» de rm -rf.

Related MCP server: Git MCP Server

Instalación

Requiere Python 3.11+ y git en PATH.

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.toml

Edita otama.toml y define project_roots con la carpeta o carpetas que contienen tus repositorios. Usa barras normales en Windows.

[projects]
project_roots = ["C:/Users/you/code"]

Verifica:

.venv/bin/python -c "import asyncio; from projects_server import otama; print([t.name for t in asyncio.run(otama.list_tools())])"

Diez nombres de herramienta significa que está en ejecución.

Conectarlo

Cursor~/.cursor/mcp.json. Claude Desktopclaude_desktop_config.json (Ajustes → Desarrollador → Configurar la configuración). El mismo formato en ambos casos:

{
  "mcpServers": {
    "otama-projects": {
      "command": "/absolute/path/to/otama/.venv/bin/python",
      "args": ["/absolute/path/to/otama/projects_server.py"]
    }
  }
}

En Windows usa \\ en la primera línea JSON — C:\\Users\\you\\otama\\.venv\\Scripts\\python.exe.

Reinicia la aplicación por completo. Una recarga no basta; los servidores MCP se cargan al arrancar.

Herramientas

Lectura — se ejecutan en el momento

Tool

Devuelve

list_projects

Todo repositorio o carpeta bajo tus raíces, con un flag is_git_repo

project_tree

Árbol de dos niveles, omitiendo node_modules, .venv, dist y otras

read_file

Un archivo de texto, con límite de tamaño

search_code

Regex en todo un proyecto, con nombres de archivo y números de línea

git_status

Rama, archivos sin commitear, últimos cinco commits

git_diff

Diff del árbol de trabajo, truncado

daily_brief

Lo que cambió en cada repositorio en los últimos N días

Escritura y ejecución — requieren confirmación

Herramienta

Hace

git_commit

Hacer stage de todo y crear un commit

write_file

Crear o sobrescribir un archivo

run_command

Ejecutar un comando de desarrollo permitido

Configuració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"]

Notas para colaboradores

El patrón de dos fases se encuentra en stage(), redeem() y _expire(). Si añades una herramienta con efectos secundarios, espera con ella.

Una sutileza llamada a tener en cuenta: redeem() no consume el token cuando el tipo de herramienta no coincide. Un modelo que llama por error a la herramienta equivocada no debe quemar la aprobación del usuario ni obligarle a confirmar todo de nuevo. Este fue un bug real, detectado en las pruebas.

Los nuevos servidores de capacidades deberían seguir la misma forma — un archivo, un dominio, herramientas de lectura gratuitas, herramientas de escritura restringidas, rechazar en lugar de confirmar cuando la acción esté fuera del entorno permitido.

Estado

En sus primeras etapas. El servidor de proyectos está probado y en uso diario; el plan incluye más servidores de capacidades (media, correo, navegador) como parte de un proyecto mayor de asistente de voz. Se aceptan issues y pull requests.

Licencia

MIT

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    A 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.
  • A
    license
    Not graded
    quality
    D
    maintenance
    An 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,703
    1
    Apache 2.0
  • F
    license
    Not graded
    quality
    D
    maintenance
    A 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.
  • F
    license
    B
    quality
    B
    maintenance
    A lightweight MCP server that acts as a secure proxy for AI assistants to run local Git operations and GitHub API macros simultaneously.
    1

View all related MCP servers

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.

View all MCP Connectors

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/Ronith2906/Otama'

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