@andrebuzeli/git-mcp 2.47.3 → 2.48.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +329 -327
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +12 -5
- package/dist/server.js.map +1 -1
- package/dist/tools/git-publish.d.ts +327 -0
- package/dist/tools/git-publish.d.ts.map +1 -0
- package/dist/tools/git-publish.js +632 -0
- package/dist/tools/git-publish.js.map +1 -0
- package/dist/tools/git-update-project.d.ts +155 -0
- package/dist/tools/git-update-project.d.ts.map +1 -1
- package/dist/tools/git-update-project.js +349 -7
- package/dist/tools/git-update-project.js.map +1 -1
- package/dist/tools/git-workflow.d.ts +415 -0
- package/dist/tools/git-workflow.d.ts.map +1 -0
- package/dist/tools/git-workflow.js +644 -0
- package/dist/tools/git-workflow.js.map +1 -0
- package/package.json +69 -60
package/README.md
CHANGED
|
@@ -1,327 +1,329 @@
|
|
|
1
|
-
# Git MCP - Servidor MCP Completo para Gitea e GitHub
|
|
2
|
-
|
|
3
|
-
> Servidor MCP (Model Context Protocol) completo para integração com Gitea e GitHub - 100% AUTOSSUFICIENTE com 20 ferramentas DevOps completas
|
|
4
|
-
|
|
5
|
-
[](https://badge.fury.io/js/@andrebuzeli/git-mcp)
|
|
6
|
-
[](https://opensource.org/licenses/MIT)
|
|
7
|
-
|
|
8
|
-
## 🎯 Visão Geral
|
|
9
|
-
|
|
10
|
-
Git MCP é um servidor MCP abrangente projetado para desenvolvedores que precisam de automação Git poderosa. Suporta dual providers (Gitea + GitHub) com backup automático, gerenciamento completo de repositórios e configuração zero.
|
|
11
|
-
|
|
12
|
-
## ✨ Características Principais
|
|
13
|
-
|
|
14
|
-
### 🔧 **Operações Git Completas**
|
|
15
|
-
- **Gerenciamento de Repositórios**: Inicializar, clonar e gerenciar repositórios
|
|
16
|
-
- **Operações de Arquivo**: Criar, atualizar, deletar arquivos e diretórios
|
|
17
|
-
- **Workflow de Commit**: Add, commit, push com mensagens automatizadas
|
|
18
|
-
- **Gerenciamento de Branches**: Criar, trocar, merge e deletar branches
|
|
19
|
-
- **Histórico e Recuperação**: Rastreamento completo com rollback fácil
|
|
20
|
-
|
|
21
|
-
### 💾 **Backup Dual Provider**
|
|
22
|
-
- **Sincronização Automática**: Mantenha Gitea e GitHub perfeitamente sincronizados
|
|
23
|
-
- **Backup Redundante**: Nunca perca seu código com armazenamento dual
|
|
24
|
-
- **Recuperação Inteligente**: Restaure de qualquer provider ou ponto de backup
|
|
25
|
-
- **Zero Configuração**: Usa variáveis de ambiente, sem configuração manual
|
|
26
|
-
|
|
27
|
-
### 🚀 **Releases Profissionais**
|
|
28
|
-
- **Versionamento Semântico**: Gerenciamento automatizado de versões
|
|
29
|
-
- **Geração de Changelog**: Notas de release auto-geradas
|
|
30
|
-
- **Gerenciamento de Assets**: Upload e gerenciamento de assets de release
|
|
31
|
-
- **Publicação Multi-Provider**: Release simultâneo em ambas as plataformas
|
|
32
|
-
|
|
33
|
-
### ⚙️ **Developer-Friendly**
|
|
34
|
-
- **Zero Config**: Funciona imediatamente com variáveis de ambiente
|
|
35
|
-
- **Templates Inteligentes**: .gitignore auto-gerado para qualquer tipo de projeto
|
|
36
|
-
- **Workflows Automatizados**: Trata tarefas repetitivas automaticamente
|
|
37
|
-
- **Foco Individual**: Sem complexidade enterprise, apenas o que você precisa
|
|
38
|
-
|
|
39
|
-
## 🏗️ Arquitetura
|
|
40
|
-
|
|
41
|
-
Git MCP consiste de 20 ferramentas especializadas organizadas em 4 categorias:
|
|
42
|
-
|
|
43
|
-
### Core Git Tools (15)
|
|
44
|
-
| Tool | Propósito | Ações Principais |
|
|
45
|
-
|------|-----------|------------------|
|
|
46
|
-
| **git-repositories** | Gerenciamento de repositórios | create, list, get, update, delete, fork, search, init, clone |
|
|
47
|
-
| **git-commits** | Operações de commit | list, get, create, compare, search, push, pull |
|
|
48
|
-
| **git-branches** | Gerenciamento de branches | create, list, get, delete, merge, compare |
|
|
49
|
-
| **git-files** | Operações de arquivo | get, create, update, delete, list, search |
|
|
50
|
-
| **git-issues** | Gerenciamento de issues | create, list, get, update, close, comment, search |
|
|
51
|
-
| **git-pulls** | Pull requests | create, list, get, update, merge, close, review, search |
|
|
52
|
-
| **git-releases** | Releases e tags | create, list, get, update, delete, publish |
|
|
53
|
-
| **git-tags** | Gerenciamento de tags | create, list, get, delete, search |
|
|
54
|
-
| **git-config** | Configurações Git | get, set, unset, list, edit, show |
|
|
55
|
-
| **git-remote** | Operações remotas | add, remove, rename, show, set-url, prune |
|
|
56
|
-
| **git-reset** | Reset de commits | soft, mixed, hard, reset-to-commit, reset-branch |
|
|
57
|
-
| **git-revert** | Revert de mudanças | revert-commit, revert-merge, revert-range |
|
|
58
|
-
| **git-stash** | Stash de mudanças | stash, pop, apply, list, show, drop, clear |
|
|
59
|
-
| **git-archive** | Arquivos compactados | create, extract, list, verify |
|
|
60
|
-
| **git-sync** | Sincronização | configure, status, one-shot |
|
|
61
|
-
|
|
62
|
-
### Advanced Tools (5)
|
|
63
|
-
| Tool | Propósito | Ações Principais |
|
|
64
|
-
|------|-----------|------------------|
|
|
65
|
-
| **git-update-project** | Atualização completa | init, update, status, diff, log, reset, stash, pull, sync |
|
|
66
|
-
| **git-initialize** | Inicialização | init |
|
|
67
|
-
| **git-packages** | Pacotes | list, get, create, update, delete, publish, download |
|
|
68
|
-
| **git-projects** | Projetos | list, get, create, update, delete, addItem, updateItem, deleteItem, listItems |
|
|
69
|
-
| **git-branch-protection** | Proteção de branches | create, list, get, update, delete |
|
|
70
|
-
|
|
71
|
-
## 🚀 Início Rápido
|
|
72
|
-
|
|
73
|
-
### Instalação
|
|
74
|
-
|
|
75
|
-
```bash
|
|
76
|
-
npm install -g @andrebuzeli/git-mcp
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
### Configuração de Ambiente
|
|
80
|
-
|
|
81
|
-
Crie um arquivo `.env` ou defina variáveis de ambiente:
|
|
82
|
-
|
|
83
|
-
```env
|
|
84
|
-
# Configuração Gitea
|
|
85
|
-
GITEA_URL=http://seu-servidor-gitea:3000
|
|
86
|
-
GITEA_TOKEN=seu_token_acesso_gitea
|
|
87
|
-
GITEA_USERNAME=seu_username
|
|
88
|
-
|
|
89
|
-
# Configuração GitHub
|
|
90
|
-
GITHUB_TOKEN=seu_token_pessoal_github
|
|
91
|
-
```
|
|
92
|
-
|
|
93
|
-
### Configuração do Cliente MCP
|
|
94
|
-
|
|
95
|
-
Adicione à configuração do seu cliente MCP (ex: Claude Desktop, Cursor):
|
|
96
|
-
|
|
97
|
-
```json
|
|
98
|
-
{
|
|
99
|
-
"mcpServers": {
|
|
100
|
-
"git-mcp": {
|
|
101
|
-
"command": "git-mcp",
|
|
102
|
-
"env": {
|
|
103
|
-
"GITEA_URL": "http://seu-servidor-gitea:3000",
|
|
104
|
-
"GITEA_TOKEN": "seu_token_gitea",
|
|
105
|
-
"GITEA_USERNAME": "seu_username",
|
|
106
|
-
"GITHUB_TOKEN": "seu_token_github"
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
|
-
```
|
|
112
|
-
|
|
113
|
-
## 📖 Exemplos de Uso
|
|
114
|
-
|
|
115
|
-
### Inicializar um Novo Projeto
|
|
116
|
-
|
|
117
|
-
```typescript
|
|
118
|
-
// Inicializar projeto com setup dual provider
|
|
119
|
-
{
|
|
120
|
-
"tool": "git-repositories",
|
|
121
|
-
"arguments": {
|
|
122
|
-
"action": "init",
|
|
123
|
-
"projectPath": "/caminho/do/projeto",
|
|
124
|
-
"repo": "meu-projeto-incrivel",
|
|
125
|
-
"provider": "gitea"
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
### Commit e Sincronização de Mudanças
|
|
131
|
-
|
|
132
|
-
```typescript
|
|
133
|
-
// Commit das mudanças
|
|
134
|
-
{
|
|
135
|
-
"tool": "git-commits",
|
|
136
|
-
"arguments": {
|
|
137
|
-
"action": "create",
|
|
138
|
-
"repo": "meu-projeto",
|
|
139
|
-
"message": "feat: adicionar nova funcionalidade",
|
|
140
|
-
"projectPath": "/caminho/do/projeto",
|
|
141
|
-
"provider": "gitea"
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
// Push para remoto
|
|
146
|
-
{
|
|
147
|
-
"tool": "git-commits",
|
|
148
|
-
"arguments": {
|
|
149
|
-
"action": "push",
|
|
150
|
-
"repo": "meu-projeto",
|
|
151
|
-
"projectPath": "/caminho/do/projeto",
|
|
152
|
-
"provider": "gitea"
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
```
|
|
156
|
-
|
|
157
|
-
### Criar um Release
|
|
158
|
-
|
|
159
|
-
```typescript
|
|
160
|
-
{
|
|
161
|
-
"tool": "git-releases",
|
|
162
|
-
"arguments": {
|
|
163
|
-
"action": "create",
|
|
164
|
-
"repo": "meu-projeto",
|
|
165
|
-
"tag_name": "v1.2.0",
|
|
166
|
-
"name": "Versão 1.2.0",
|
|
167
|
-
"body": "Atualização major com performance melhorada",
|
|
168
|
-
"provider": "gitea"
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
```
|
|
172
|
-
|
|
173
|
-
### Upload Completo do Projeto
|
|
174
|
-
|
|
175
|
-
```typescript
|
|
176
|
-
{
|
|
177
|
-
"tool": "git-update-project",
|
|
178
|
-
"arguments": {
|
|
179
|
-
"action": "init",
|
|
180
|
-
"repo": "meu-projeto",
|
|
181
|
-
"projectPath": "/caminho/do/projeto",
|
|
182
|
-
"provider": "gitea",
|
|
183
|
-
"message": "Upload inicial do projeto"
|
|
184
|
-
}
|
|
185
|
-
}
|
|
186
|
-
```
|
|
187
|
-
|
|
188
|
-
## 🔧 Configuração
|
|
189
|
-
|
|
190
|
-
### Variáveis de Ambiente
|
|
191
|
-
|
|
192
|
-
| Variável | Obrigatório | Descrição |
|
|
193
|
-
|----------|-------------|-----------|
|
|
194
|
-
| `GITEA_URL` | Sim | URL do seu servidor Gitea |
|
|
195
|
-
| `GITEA_TOKEN` | Sim | Token de acesso Gitea |
|
|
196
|
-
| `GITEA_USERNAME` | Sim | Seu username Gitea |
|
|
197
|
-
| `GITHUB_TOKEN` | Não | Token pessoal GitHub |
|
|
198
|
-
| `LOG_LEVEL` | Não | Nível de log (ERROR, WARN, INFO, DEBUG) |
|
|
199
|
-
|
|
200
|
-
### Permissões dos Tokens
|
|
201
|
-
|
|
202
|
-
**Token Gitea:**
|
|
203
|
-
- Repository: Read, Write
|
|
204
|
-
- Issues: Read, Write
|
|
205
|
-
- Pull Requests: Read, Write
|
|
206
|
-
|
|
207
|
-
**Token GitHub:**
|
|
208
|
-
- `repo` - Acesso completo ao repositório
|
|
209
|
-
- `workflow` - Atualizar workflows GitHub Actions
|
|
210
|
-
- `write:packages` - Upload de pacotes
|
|
211
|
-
|
|
212
|
-
## 🛠️ Desenvolvimento
|
|
213
|
-
|
|
214
|
-
### Pré-requisitos
|
|
215
|
-
|
|
216
|
-
- Node.js 18+
|
|
217
|
-
- Git instalado e configurado
|
|
218
|
-
- Acesso a instâncias Gitea e GitHub
|
|
219
|
-
|
|
220
|
-
### Setup
|
|
221
|
-
|
|
222
|
-
```bash
|
|
223
|
-
# Clonar o repositório
|
|
224
|
-
git clone https://github.com/andrebuzeli/gitea-mcp-v2.git
|
|
225
|
-
cd gitea-mcp-v2
|
|
226
|
-
|
|
227
|
-
# Instalar dependências
|
|
228
|
-
npm install
|
|
229
|
-
|
|
230
|
-
# Build do projeto
|
|
231
|
-
npm run build
|
|
232
|
-
|
|
233
|
-
# Executar em modo desenvolvimento
|
|
234
|
-
npm run dev
|
|
235
|
-
```
|
|
236
|
-
|
|
237
|
-
### Testes
|
|
238
|
-
|
|
239
|
-
```bash
|
|
240
|
-
# Executar testes
|
|
241
|
-
npm test
|
|
242
|
-
|
|
243
|
-
# Executar linting
|
|
244
|
-
npm run lint
|
|
245
|
-
```
|
|
246
|
-
|
|
247
|
-
## 📚 Referência da API
|
|
248
|
-
|
|
249
|
-
### Visão Geral das Ferramentas
|
|
250
|
-
|
|
251
|
-
#### git-repositories
|
|
252
|
-
Gerenciamento completo de repositórios Git.
|
|
253
|
-
|
|
254
|
-
**Ações:** `create`, `list`, `get`, `update`, `delete`, `fork`, `search`, `init`, `clone`
|
|
255
|
-
|
|
256
|
-
#### git-commits
|
|
257
|
-
Operações completas de commit e histórico.
|
|
258
|
-
|
|
259
|
-
**Ações:** `list`, `get`, `create`, `compare`, `search`, `push`, `pull`
|
|
260
|
-
|
|
261
|
-
#### git-branches
|
|
262
|
-
Gerenciamento completo de branches.
|
|
263
|
-
|
|
264
|
-
**Ações:** `create`, `list`, `get`, `delete`, `merge`, `compare`
|
|
265
|
-
|
|
266
|
-
#### git-files
|
|
267
|
-
Operações de arquivo e diretório.
|
|
268
|
-
|
|
269
|
-
**Ações:** `get`, `create`, `update`, `delete`, `list`, `search`
|
|
270
|
-
|
|
271
|
-
#### git-issues
|
|
272
|
-
Sistema completo de gerenciamento de issues.
|
|
273
|
-
|
|
274
|
-
**Ações:** `create`, `list`, `get`, `update`, `close`, `comment`, `search`
|
|
275
|
-
|
|
276
|
-
#### git-pulls
|
|
277
|
-
Gerenciamento completo de pull requests.
|
|
278
|
-
|
|
279
|
-
**Ações:** `create`, `list`, `get`, `update`, `merge`, `close`, `review`, `search`
|
|
280
|
-
|
|
281
|
-
#### git-releases
|
|
282
|
-
Sistema profissional de releases e versionamento.
|
|
283
|
-
|
|
284
|
-
**Ações:** `create`, `list`, `get`, `update`, `delete`, `publish`
|
|
285
|
-
|
|
286
|
-
#### git-tags
|
|
287
|
-
Gerenciamento de tags para versionamento.
|
|
288
|
-
|
|
289
|
-
**Ações:** `create`, `list`, `get`, `delete`, `search`
|
|
290
|
-
|
|
291
|
-
#### git-update-project
|
|
292
|
-
Atualização completa e sincronização de projetos.
|
|
293
|
-
|
|
294
|
-
**Ações:** `init`, `update`, `status`, `diff`, `log`, `reset`, `stash`, `pull`, `sync`
|
|
295
|
-
|
|
296
|
-
## 🤝 Contribuição
|
|
297
|
-
|
|
298
|
-
Contribuições são bem-vindas! Leia nosso [Guia de Contribuição](CONTRIBUTING.md) para detalhes sobre nosso código de conduta e o processo para submeter pull requests.
|
|
299
|
-
|
|
300
|
-
### Workflow de Desenvolvimento
|
|
301
|
-
|
|
302
|
-
1. Fork o repositório
|
|
303
|
-
2. Crie uma branch de feature: `git checkout -b feature/recurso-incrivel`
|
|
304
|
-
3. Faça suas mudanças e adicione testes
|
|
305
|
-
4. Commit suas mudanças: `git commit -m 'feat: adicionar recurso incrivel'`
|
|
306
|
-
5. Push para a branch: `git push origin feature/recurso-incrivel`
|
|
307
|
-
6. Abra um Pull Request
|
|
308
|
-
|
|
309
|
-
## 📄 Licença
|
|
310
|
-
|
|
311
|
-
Este projeto está licenciado sob a Licença MIT - veja o arquivo [LICENSE](LICENSE) para detalhes.
|
|
312
|
-
|
|
313
|
-
## 🙏 Agradecimentos
|
|
314
|
-
|
|
315
|
-
- [Model Context Protocol](https://modelcontextprotocol.io/) pelo excelente framework MCP
|
|
316
|
-
- A comunidade open-source por inspiração e suporte
|
|
317
|
-
|
|
318
|
-
## 📞 Suporte
|
|
319
|
-
|
|
320
|
-
- 📧 Email: andre@buzeli.com
|
|
321
|
-
- 🐛 Issues: [GitHub Issues](https://github.com/andrebuzeli/gitea-mcp-v2/issues)
|
|
322
|
-
- 💬 Discussões: [GitHub Discussions](https://github.com/andrebuzeli/gitea-mcp-v2/discussions)
|
|
323
|
-
|
|
324
|
-
---
|
|
325
|
-
|
|
326
|
-
**Feito com ❤️ para desenvolvedores que querem automação Git poderosa sem complexidade.**
|
|
327
|
-
|
|
1
|
+
# Git MCP - Servidor MCP Completo para Gitea e GitHub
|
|
2
|
+
|
|
3
|
+
> Servidor MCP (Model Context Protocol) completo para integração com Gitea e GitHub - 100% AUTOSSUFICIENTE com 20 ferramentas DevOps completas
|
|
4
|
+
|
|
5
|
+
[](https://badge.fury.io/js/@andrebuzeli/git-mcp)
|
|
6
|
+
[](https://opensource.org/licenses/MIT)
|
|
7
|
+
|
|
8
|
+
## 🎯 Visão Geral
|
|
9
|
+
|
|
10
|
+
Git MCP é um servidor MCP abrangente projetado para desenvolvedores que precisam de automação Git poderosa. Suporta dual providers (Gitea + GitHub) com backup automático, gerenciamento completo de repositórios e configuração zero.
|
|
11
|
+
|
|
12
|
+
## ✨ Características Principais
|
|
13
|
+
|
|
14
|
+
### 🔧 **Operações Git Completas**
|
|
15
|
+
- **Gerenciamento de Repositórios**: Inicializar, clonar e gerenciar repositórios
|
|
16
|
+
- **Operações de Arquivo**: Criar, atualizar, deletar arquivos e diretórios
|
|
17
|
+
- **Workflow de Commit**: Add, commit, push com mensagens automatizadas
|
|
18
|
+
- **Gerenciamento de Branches**: Criar, trocar, merge e deletar branches
|
|
19
|
+
- **Histórico e Recuperação**: Rastreamento completo com rollback fácil
|
|
20
|
+
|
|
21
|
+
### 💾 **Backup Dual Provider**
|
|
22
|
+
- **Sincronização Automática**: Mantenha Gitea e GitHub perfeitamente sincronizados
|
|
23
|
+
- **Backup Redundante**: Nunca perca seu código com armazenamento dual
|
|
24
|
+
- **Recuperação Inteligente**: Restaure de qualquer provider ou ponto de backup
|
|
25
|
+
- **Zero Configuração**: Usa variáveis de ambiente, sem configuração manual
|
|
26
|
+
|
|
27
|
+
### 🚀 **Releases Profissionais**
|
|
28
|
+
- **Versionamento Semântico**: Gerenciamento automatizado de versões
|
|
29
|
+
- **Geração de Changelog**: Notas de release auto-geradas
|
|
30
|
+
- **Gerenciamento de Assets**: Upload e gerenciamento de assets de release
|
|
31
|
+
- **Publicação Multi-Provider**: Release simultâneo em ambas as plataformas
|
|
32
|
+
|
|
33
|
+
### ⚙️ **Developer-Friendly**
|
|
34
|
+
- **Zero Config**: Funciona imediatamente com variáveis de ambiente
|
|
35
|
+
- **Templates Inteligentes**: .gitignore auto-gerado para qualquer tipo de projeto
|
|
36
|
+
- **Workflows Automatizados**: Trata tarefas repetitivas automaticamente
|
|
37
|
+
- **Foco Individual**: Sem complexidade enterprise, apenas o que você precisa
|
|
38
|
+
|
|
39
|
+
## 🏗️ Arquitetura
|
|
40
|
+
|
|
41
|
+
Git MCP consiste de 20 ferramentas especializadas organizadas em 4 categorias:
|
|
42
|
+
|
|
43
|
+
### Core Git Tools (15)
|
|
44
|
+
| Tool | Propósito | Ações Principais |
|
|
45
|
+
|------|-----------|------------------|
|
|
46
|
+
| **git-repositories** | Gerenciamento de repositórios | create, list, get, update, delete, fork, search, init, clone |
|
|
47
|
+
| **git-commits** | Operações de commit | list, get, create, compare, search, push, pull |
|
|
48
|
+
| **git-branches** | Gerenciamento de branches | create, list, get, delete, merge, compare |
|
|
49
|
+
| **git-files** | Operações de arquivo | get, create, update, delete, list, search |
|
|
50
|
+
| **git-issues** | Gerenciamento de issues | create, list, get, update, close, comment, search |
|
|
51
|
+
| **git-pulls** | Pull requests | create, list, get, update, merge, close, review, search |
|
|
52
|
+
| **git-releases** | Releases e tags | create, list, get, update, delete, publish |
|
|
53
|
+
| **git-tags** | Gerenciamento de tags | create, list, get, delete, search |
|
|
54
|
+
| **git-config** | Configurações Git | get, set, unset, list, edit, show |
|
|
55
|
+
| **git-remote** | Operações remotas | add, remove, rename, show, set-url, prune |
|
|
56
|
+
| **git-reset** | Reset de commits | soft, mixed, hard, reset-to-commit, reset-branch |
|
|
57
|
+
| **git-revert** | Revert de mudanças | revert-commit, revert-merge, revert-range |
|
|
58
|
+
| **git-stash** | Stash de mudanças | stash, pop, apply, list, show, drop, clear |
|
|
59
|
+
| **git-archive** | Arquivos compactados | create, extract, list, verify |
|
|
60
|
+
| **git-sync** | Sincronização | configure, status, one-shot |
|
|
61
|
+
|
|
62
|
+
### Advanced Tools (5)
|
|
63
|
+
| Tool | Propósito | Ações Principais |
|
|
64
|
+
|------|-----------|------------------|
|
|
65
|
+
| **git-update-project** | Atualização completa | init, update, status, diff, log, reset, stash, pull, sync |
|
|
66
|
+
| **git-initialize** | Inicialização | init |
|
|
67
|
+
| **git-packages** | Pacotes | list, get, create, update, delete, publish, download |
|
|
68
|
+
| **git-projects** | Projetos | list, get, create, update, delete, addItem, updateItem, deleteItem, listItems |
|
|
69
|
+
| **git-branch-protection** | Proteção de branches | create, list, get, update, delete |
|
|
70
|
+
|
|
71
|
+
## 🚀 Início Rápido
|
|
72
|
+
|
|
73
|
+
### Instalação
|
|
74
|
+
|
|
75
|
+
```bash
|
|
76
|
+
npm install -g @andrebuzeli/git-mcp
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### Configuração de Ambiente
|
|
80
|
+
|
|
81
|
+
Crie um arquivo `.env` ou defina variáveis de ambiente:
|
|
82
|
+
|
|
83
|
+
```env
|
|
84
|
+
# Configuração Gitea
|
|
85
|
+
GITEA_URL=http://seu-servidor-gitea:3000
|
|
86
|
+
GITEA_TOKEN=seu_token_acesso_gitea
|
|
87
|
+
GITEA_USERNAME=seu_username
|
|
88
|
+
|
|
89
|
+
# Configuração GitHub
|
|
90
|
+
GITHUB_TOKEN=seu_token_pessoal_github
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### Configuração do Cliente MCP
|
|
94
|
+
|
|
95
|
+
Adicione à configuração do seu cliente MCP (ex: Claude Desktop, Cursor):
|
|
96
|
+
|
|
97
|
+
```json
|
|
98
|
+
{
|
|
99
|
+
"mcpServers": {
|
|
100
|
+
"git-mcp": {
|
|
101
|
+
"command": "git-mcp",
|
|
102
|
+
"env": {
|
|
103
|
+
"GITEA_URL": "http://seu-servidor-gitea:3000",
|
|
104
|
+
"GITEA_TOKEN": "seu_token_gitea",
|
|
105
|
+
"GITEA_USERNAME": "seu_username",
|
|
106
|
+
"GITHUB_TOKEN": "seu_token_github"
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
## 📖 Exemplos de Uso
|
|
114
|
+
|
|
115
|
+
### Inicializar um Novo Projeto
|
|
116
|
+
|
|
117
|
+
```typescript
|
|
118
|
+
// Inicializar projeto com setup dual provider
|
|
119
|
+
{
|
|
120
|
+
"tool": "git-repositories",
|
|
121
|
+
"arguments": {
|
|
122
|
+
"action": "init",
|
|
123
|
+
"projectPath": "/caminho/do/projeto",
|
|
124
|
+
"repo": "meu-projeto-incrivel",
|
|
125
|
+
"provider": "gitea"
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### Commit e Sincronização de Mudanças
|
|
131
|
+
|
|
132
|
+
```typescript
|
|
133
|
+
// Commit das mudanças
|
|
134
|
+
{
|
|
135
|
+
"tool": "git-commits",
|
|
136
|
+
"arguments": {
|
|
137
|
+
"action": "create",
|
|
138
|
+
"repo": "meu-projeto",
|
|
139
|
+
"message": "feat: adicionar nova funcionalidade",
|
|
140
|
+
"projectPath": "/caminho/do/projeto",
|
|
141
|
+
"provider": "gitea"
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
// Push para remoto
|
|
146
|
+
{
|
|
147
|
+
"tool": "git-commits",
|
|
148
|
+
"arguments": {
|
|
149
|
+
"action": "push",
|
|
150
|
+
"repo": "meu-projeto",
|
|
151
|
+
"projectPath": "/caminho/do/projeto",
|
|
152
|
+
"provider": "gitea"
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
```
|
|
156
|
+
|
|
157
|
+
### Criar um Release
|
|
158
|
+
|
|
159
|
+
```typescript
|
|
160
|
+
{
|
|
161
|
+
"tool": "git-releases",
|
|
162
|
+
"arguments": {
|
|
163
|
+
"action": "create",
|
|
164
|
+
"repo": "meu-projeto",
|
|
165
|
+
"tag_name": "v1.2.0",
|
|
166
|
+
"name": "Versão 1.2.0",
|
|
167
|
+
"body": "Atualização major com performance melhorada",
|
|
168
|
+
"provider": "gitea"
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
```
|
|
172
|
+
|
|
173
|
+
### Upload Completo do Projeto
|
|
174
|
+
|
|
175
|
+
```typescript
|
|
176
|
+
{
|
|
177
|
+
"tool": "git-update-project",
|
|
178
|
+
"arguments": {
|
|
179
|
+
"action": "init",
|
|
180
|
+
"repo": "meu-projeto",
|
|
181
|
+
"projectPath": "/caminho/do/projeto",
|
|
182
|
+
"provider": "gitea",
|
|
183
|
+
"message": "Upload inicial do projeto"
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
## 🔧 Configuração
|
|
189
|
+
|
|
190
|
+
### Variáveis de Ambiente
|
|
191
|
+
|
|
192
|
+
| Variável | Obrigatório | Descrição |
|
|
193
|
+
|----------|-------------|-----------|
|
|
194
|
+
| `GITEA_URL` | Sim | URL do seu servidor Gitea |
|
|
195
|
+
| `GITEA_TOKEN` | Sim | Token de acesso Gitea |
|
|
196
|
+
| `GITEA_USERNAME` | Sim | Seu username Gitea |
|
|
197
|
+
| `GITHUB_TOKEN` | Não | Token pessoal GitHub |
|
|
198
|
+
| `LOG_LEVEL` | Não | Nível de log (ERROR, WARN, INFO, DEBUG) |
|
|
199
|
+
|
|
200
|
+
### Permissões dos Tokens
|
|
201
|
+
|
|
202
|
+
**Token Gitea:**
|
|
203
|
+
- Repository: Read, Write
|
|
204
|
+
- Issues: Read, Write
|
|
205
|
+
- Pull Requests: Read, Write
|
|
206
|
+
|
|
207
|
+
**Token GitHub:**
|
|
208
|
+
- `repo` - Acesso completo ao repositório
|
|
209
|
+
- `workflow` - Atualizar workflows GitHub Actions
|
|
210
|
+
- `write:packages` - Upload de pacotes
|
|
211
|
+
|
|
212
|
+
## 🛠️ Desenvolvimento
|
|
213
|
+
|
|
214
|
+
### Pré-requisitos
|
|
215
|
+
|
|
216
|
+
- Node.js 18+
|
|
217
|
+
- Git instalado e configurado
|
|
218
|
+
- Acesso a instâncias Gitea e GitHub
|
|
219
|
+
|
|
220
|
+
### Setup
|
|
221
|
+
|
|
222
|
+
```bash
|
|
223
|
+
# Clonar o repositório
|
|
224
|
+
git clone https://github.com/andrebuzeli/gitea-mcp-v2.git
|
|
225
|
+
cd gitea-mcp-v2
|
|
226
|
+
|
|
227
|
+
# Instalar dependências
|
|
228
|
+
npm install
|
|
229
|
+
|
|
230
|
+
# Build do projeto
|
|
231
|
+
npm run build
|
|
232
|
+
|
|
233
|
+
# Executar em modo desenvolvimento
|
|
234
|
+
npm run dev
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### Testes
|
|
238
|
+
|
|
239
|
+
```bash
|
|
240
|
+
# Executar testes
|
|
241
|
+
npm test
|
|
242
|
+
|
|
243
|
+
# Executar linting
|
|
244
|
+
npm run lint
|
|
245
|
+
```
|
|
246
|
+
|
|
247
|
+
## 📚 Referência da API
|
|
248
|
+
|
|
249
|
+
### Visão Geral das Ferramentas
|
|
250
|
+
|
|
251
|
+
#### git-repositories
|
|
252
|
+
Gerenciamento completo de repositórios Git.
|
|
253
|
+
|
|
254
|
+
**Ações:** `create`, `list`, `get`, `update`, `delete`, `fork`, `search`, `init`, `clone`
|
|
255
|
+
|
|
256
|
+
#### git-commits
|
|
257
|
+
Operações completas de commit e histórico.
|
|
258
|
+
|
|
259
|
+
**Ações:** `list`, `get`, `create`, `compare`, `search`, `push`, `pull`
|
|
260
|
+
|
|
261
|
+
#### git-branches
|
|
262
|
+
Gerenciamento completo de branches.
|
|
263
|
+
|
|
264
|
+
**Ações:** `create`, `list`, `get`, `delete`, `merge`, `compare`
|
|
265
|
+
|
|
266
|
+
#### git-files
|
|
267
|
+
Operações de arquivo e diretório.
|
|
268
|
+
|
|
269
|
+
**Ações:** `get`, `create`, `update`, `delete`, `list`, `search`
|
|
270
|
+
|
|
271
|
+
#### git-issues
|
|
272
|
+
Sistema completo de gerenciamento de issues.
|
|
273
|
+
|
|
274
|
+
**Ações:** `create`, `list`, `get`, `update`, `close`, `comment`, `search`
|
|
275
|
+
|
|
276
|
+
#### git-pulls
|
|
277
|
+
Gerenciamento completo de pull requests.
|
|
278
|
+
|
|
279
|
+
**Ações:** `create`, `list`, `get`, `update`, `merge`, `close`, `review`, `search`
|
|
280
|
+
|
|
281
|
+
#### git-releases
|
|
282
|
+
Sistema profissional de releases e versionamento.
|
|
283
|
+
|
|
284
|
+
**Ações:** `create`, `list`, `get`, `update`, `delete`, `publish`
|
|
285
|
+
|
|
286
|
+
#### git-tags
|
|
287
|
+
Gerenciamento de tags para versionamento.
|
|
288
|
+
|
|
289
|
+
**Ações:** `create`, `list`, `get`, `delete`, `search`
|
|
290
|
+
|
|
291
|
+
#### git-update-project
|
|
292
|
+
Atualização completa e sincronização de projetos.
|
|
293
|
+
|
|
294
|
+
**Ações:** `init`, `update`, `status`, `diff`, `log`, `reset`, `stash`, `pull`, `sync`
|
|
295
|
+
|
|
296
|
+
## 🤝 Contribuição
|
|
297
|
+
|
|
298
|
+
Contribuições são bem-vindas! Leia nosso [Guia de Contribuição](CONTRIBUTING.md) para detalhes sobre nosso código de conduta e o processo para submeter pull requests.
|
|
299
|
+
|
|
300
|
+
### Workflow de Desenvolvimento
|
|
301
|
+
|
|
302
|
+
1. Fork o repositório
|
|
303
|
+
2. Crie uma branch de feature: `git checkout -b feature/recurso-incrivel`
|
|
304
|
+
3. Faça suas mudanças e adicione testes
|
|
305
|
+
4. Commit suas mudanças: `git commit -m 'feat: adicionar recurso incrivel'`
|
|
306
|
+
5. Push para a branch: `git push origin feature/recurso-incrivel`
|
|
307
|
+
6. Abra um Pull Request
|
|
308
|
+
|
|
309
|
+
## 📄 Licença
|
|
310
|
+
|
|
311
|
+
Este projeto está licenciado sob a Licença MIT - veja o arquivo [LICENSE](LICENSE) para detalhes.
|
|
312
|
+
|
|
313
|
+
## 🙏 Agradecimentos
|
|
314
|
+
|
|
315
|
+
- [Model Context Protocol](https://modelcontextprotocol.io/) pelo excelente framework MCP
|
|
316
|
+
- A comunidade open-source por inspiração e suporte
|
|
317
|
+
|
|
318
|
+
## 📞 Suporte
|
|
319
|
+
|
|
320
|
+
- 📧 Email: andre@buzeli.com
|
|
321
|
+
- 🐛 Issues: [GitHub Issues](https://github.com/andrebuzeli/gitea-mcp-v2/issues)
|
|
322
|
+
- 💬 Discussões: [GitHub Discussions](https://github.com/andrebuzeli/gitea-mcp-v2/discussions)
|
|
323
|
+
|
|
324
|
+
---
|
|
325
|
+
|
|
326
|
+
**Feito com ❤️ para desenvolvedores que querem automação Git poderosa sem complexidade.**
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAwGA;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAS;;IAavB;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,aAAa;IAuDrB;;;;;;;;;;;;;;;;;;OAkBG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA8D1B;;;;;;;;;;;;OAYG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
|