@andrebuzeli/git-mcp 3.1.2 → 3.2.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/dist/server.d.ts +46 -0
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +773 -18
- package/dist/server.js.map +1 -1
- package/package.json +61 -61
package/dist/server.d.ts
CHANGED
|
@@ -1,3 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* RESOURCES MCP - Documentação e informações estáticas
|
|
3
|
+
*
|
|
4
|
+
* TIPOS DE RESOURCES:
|
|
5
|
+
* - documentação: Regras de uso, melhores práticas
|
|
6
|
+
* - exemplos: Casos de uso práticos
|
|
7
|
+
* - configuração: Como configurar providers
|
|
8
|
+
* - troubleshooting: Solução de problemas comuns
|
|
9
|
+
*/
|
|
10
|
+
declare const resources: {
|
|
11
|
+
uri: string;
|
|
12
|
+
name: string;
|
|
13
|
+
description: string;
|
|
14
|
+
mimeType: string;
|
|
15
|
+
}[];
|
|
16
|
+
/**
|
|
17
|
+
* PROMPTS MCP - Templates de uso pré-definidos
|
|
18
|
+
*
|
|
19
|
+
* TIPOS DE PROMPTS:
|
|
20
|
+
* - setup: Configuração inicial
|
|
21
|
+
* - workflow: Workflows específicos
|
|
22
|
+
* - troubleshooting: Diagnóstico e correção
|
|
23
|
+
* - examples: Exemplos práticos
|
|
24
|
+
*/
|
|
25
|
+
declare const prompts: {
|
|
26
|
+
name: string;
|
|
27
|
+
description: string;
|
|
28
|
+
arguments: {
|
|
29
|
+
name: string;
|
|
30
|
+
description: string;
|
|
31
|
+
required: boolean;
|
|
32
|
+
}[];
|
|
33
|
+
}[];
|
|
34
|
+
/**
|
|
35
|
+
* CONTENT FUNCTIONS - Para Resources e Prompts
|
|
36
|
+
*/
|
|
37
|
+
declare const getResourceContent: (uri: string) => string;
|
|
38
|
+
/**
|
|
39
|
+
* VALIDAÇÃO GLOBAL - Project Path obrigatório
|
|
40
|
+
*
|
|
41
|
+
* TODA tool DEVE validar projectPath antes de executar qualquer operação
|
|
42
|
+
* Isso garante que todas as operações sejam executadas dentro do projeto correto
|
|
43
|
+
*/
|
|
44
|
+
declare const validateProjectPath: (args: any, toolName: string) => void;
|
|
45
|
+
declare const getPromptContent: (name: string, args: any) => string;
|
|
1
46
|
/**
|
|
2
47
|
* Servidor MCP principal para Gitea
|
|
3
48
|
*
|
|
@@ -17,6 +62,7 @@
|
|
|
17
62
|
* - Configure handlers antes de conectar
|
|
18
63
|
* - Implemente graceful shutdown
|
|
19
64
|
*/
|
|
65
|
+
export { getResourceContent, getPromptContent, validateProjectPath, resources, prompts };
|
|
20
66
|
export declare class GiteaMCPServer {
|
|
21
67
|
private server;
|
|
22
68
|
constructor();
|
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":"AA8DA;;;;;;;;GAQG;AACH,QAAA,MAAM,SAAS;;;;;GAqCd,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,OAAO;;;;;;;;GAgFZ,CAAC;AA0CF;;GAEG;AACH,QAAA,MAAM,kBAAkB,GAAI,KAAK,MAAM,KAAG,MAoezC,CAAC;AAEF;;;;;GAKG;AACH,QAAA,MAAM,mBAAmB,GAAI,MAAM,GAAG,EAAE,UAAU,MAAM,KAAG,IA0B1D,CAAC;AAEF,QAAA,MAAM,gBAAgB,GAAI,MAAM,MAAM,EAAE,MAAM,GAAG,KAAG,MAkEnD,CAAC;AAEF;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AAEzF,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAS;;IAavB;;;;;;;;;;;;;;;;;OAiBG;IACH,OAAO,CAAC,aAAa;IAsHrB;;;;;;;;;;;;;;;;;;OAkBG;IACG,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IA8D1B;;;;;;;;;;;;OAYG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
|
package/dist/server.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.GiteaMCPServer = void 0;
|
|
3
|
+
exports.GiteaMCPServer = exports.prompts = exports.resources = exports.validateProjectPath = exports.getPromptContent = exports.getResourceContent = void 0;
|
|
4
4
|
const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
|
|
5
5
|
const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
|
|
6
6
|
const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
@@ -54,7 +54,146 @@ const git_sync_js_1 = require("./tools/git-sync.js");
|
|
|
54
54
|
const git_packages_js_1 = require("./tools/git-packages.js");
|
|
55
55
|
const git_projects_js_1 = require("./tools/git-projects.js");
|
|
56
56
|
/**
|
|
57
|
-
*
|
|
57
|
+
* RESOURCES MCP - Documentação e informações estáticas
|
|
58
|
+
*
|
|
59
|
+
* TIPOS DE RESOURCES:
|
|
60
|
+
* - documentação: Regras de uso, melhores práticas
|
|
61
|
+
* - exemplos: Casos de uso práticos
|
|
62
|
+
* - configuração: Como configurar providers
|
|
63
|
+
* - troubleshooting: Solução de problemas comuns
|
|
64
|
+
*/
|
|
65
|
+
const resources = [
|
|
66
|
+
{
|
|
67
|
+
uri: 'git-mcp://documentation/rules',
|
|
68
|
+
name: 'Regras de Uso do Git MCP',
|
|
69
|
+
description: 'Regras essenciais para usar o Git MCP corretamente',
|
|
70
|
+
mimeType: 'text/markdown'
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
uri: 'git-mcp://documentation/providers',
|
|
74
|
+
name: 'Configuração de Providers',
|
|
75
|
+
description: 'Como configurar GitHub e Gitea providers',
|
|
76
|
+
mimeType: 'text/markdown'
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
uri: 'git-mcp://documentation/tools',
|
|
80
|
+
name: 'Ferramentas Disponíveis',
|
|
81
|
+
description: 'Lista completa de todas as ferramentas e seus usos',
|
|
82
|
+
mimeType: 'text/markdown'
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
uri: 'git-mcp://examples/basic-usage',
|
|
86
|
+
name: 'Exemplos Básicos de Uso',
|
|
87
|
+
description: 'Exemplos práticos de como usar as ferramentas',
|
|
88
|
+
mimeType: 'text/markdown'
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
uri: 'git-mcp://examples/workflows',
|
|
92
|
+
name: 'Workflows Completos',
|
|
93
|
+
description: 'Exemplos de workflows completos de desenvolvimento',
|
|
94
|
+
mimeType: 'text/markdown'
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
uri: 'git-mcp://troubleshooting/common-issues',
|
|
98
|
+
name: 'Problemas Comuns e Soluções',
|
|
99
|
+
description: 'Como resolver problemas comuns no Git MCP',
|
|
100
|
+
mimeType: 'text/markdown'
|
|
101
|
+
}
|
|
102
|
+
];
|
|
103
|
+
exports.resources = resources;
|
|
104
|
+
/**
|
|
105
|
+
* PROMPTS MCP - Templates de uso pré-definidos
|
|
106
|
+
*
|
|
107
|
+
* TIPOS DE PROMPTS:
|
|
108
|
+
* - setup: Configuração inicial
|
|
109
|
+
* - workflow: Workflows específicos
|
|
110
|
+
* - troubleshooting: Diagnóstico e correção
|
|
111
|
+
* - examples: Exemplos práticos
|
|
112
|
+
*/
|
|
113
|
+
const prompts = [
|
|
114
|
+
{
|
|
115
|
+
name: 'setup-project',
|
|
116
|
+
description: 'Configurar um novo projeto com Git MCP',
|
|
117
|
+
arguments: [
|
|
118
|
+
{
|
|
119
|
+
name: 'projectPath',
|
|
120
|
+
description: 'Caminho completo do projeto',
|
|
121
|
+
required: true
|
|
122
|
+
},
|
|
123
|
+
{
|
|
124
|
+
name: 'repoName',
|
|
125
|
+
description: 'Nome do repositório',
|
|
126
|
+
required: true
|
|
127
|
+
},
|
|
128
|
+
{
|
|
129
|
+
name: 'provider',
|
|
130
|
+
description: 'Provider (gitea ou github)',
|
|
131
|
+
required: true
|
|
132
|
+
}
|
|
133
|
+
]
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
name: 'sync-project',
|
|
137
|
+
description: 'Sincronizar projeto completo com provider',
|
|
138
|
+
arguments: [
|
|
139
|
+
{
|
|
140
|
+
name: 'projectPath',
|
|
141
|
+
description: 'Caminho do projeto',
|
|
142
|
+
required: true
|
|
143
|
+
},
|
|
144
|
+
{
|
|
145
|
+
name: 'provider',
|
|
146
|
+
description: 'Provider para sincronização',
|
|
147
|
+
required: true
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
name: 'message',
|
|
151
|
+
description: 'Mensagem do commit',
|
|
152
|
+
required: false
|
|
153
|
+
}
|
|
154
|
+
]
|
|
155
|
+
},
|
|
156
|
+
{
|
|
157
|
+
name: 'troubleshoot-auth',
|
|
158
|
+
description: 'Diagnosticar problemas de autenticação',
|
|
159
|
+
arguments: [
|
|
160
|
+
{
|
|
161
|
+
name: 'provider',
|
|
162
|
+
description: 'Provider com problema (gitea ou github)',
|
|
163
|
+
required: true
|
|
164
|
+
}
|
|
165
|
+
]
|
|
166
|
+
},
|
|
167
|
+
{
|
|
168
|
+
name: 'create-release',
|
|
169
|
+
description: 'Criar uma nova release',
|
|
170
|
+
arguments: [
|
|
171
|
+
{
|
|
172
|
+
name: 'projectPath',
|
|
173
|
+
description: 'Caminho do projeto',
|
|
174
|
+
required: true
|
|
175
|
+
},
|
|
176
|
+
{
|
|
177
|
+
name: 'repo',
|
|
178
|
+
description: 'Nome do repositório',
|
|
179
|
+
required: true
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
name: 'version',
|
|
183
|
+
description: 'Versão da release (ex: v1.0.0)',
|
|
184
|
+
required: true
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
name: 'provider',
|
|
188
|
+
description: 'Provider (gitea ou github)',
|
|
189
|
+
required: true
|
|
190
|
+
}
|
|
191
|
+
]
|
|
192
|
+
}
|
|
193
|
+
];
|
|
194
|
+
exports.prompts = prompts;
|
|
195
|
+
/**
|
|
196
|
+
* Array de todas as ferramentas disponíveis (21 tools)
|
|
58
197
|
*
|
|
59
198
|
* ESTRUTURA:
|
|
60
199
|
* - Cada tool deve implementar a interface Tool
|
|
@@ -93,24 +232,586 @@ const tools = [
|
|
|
93
232
|
git_projects_js_1.gitProjectsTool
|
|
94
233
|
];
|
|
95
234
|
/**
|
|
96
|
-
*
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
235
|
+
* CONTENT FUNCTIONS - Para Resources e Prompts
|
|
236
|
+
*/
|
|
237
|
+
const getResourceContent = (uri) => {
|
|
238
|
+
switch (uri) {
|
|
239
|
+
case 'git-mcp://documentation/rules':
|
|
240
|
+
return `# Regras de Uso do Git MCP
|
|
241
|
+
|
|
242
|
+
## 🚫 REGRAS ABSOLUTAS (NUNCA QUEBRAR)
|
|
243
|
+
|
|
244
|
+
### 1. **Project Path é OBRIGATÓRIO**
|
|
245
|
+
- **TODA tool** deve receber \`projectPath\` como parâmetro obrigatório
|
|
246
|
+
- **TODAS as operações** devem ser executadas dentro do \`projectPath\` ou suas subpastas
|
|
247
|
+
- **NENHUMA operação** pode ser executada fora do diretório do projeto
|
|
248
|
+
|
|
249
|
+
### 2. **Comandos Git SEMPRE via Tools**
|
|
250
|
+
- **NUNCA** executar comandos git diretamente no terminal
|
|
251
|
+
- **SEMPRE** usar as tools do git-mcp para operações git
|
|
252
|
+
- **NUNCA** usar \`git\` diretamente, mesmo que "pareça mais rápido"
|
|
253
|
+
|
|
254
|
+
### 3. **Commit Messages em Português**
|
|
255
|
+
- **TODOS os commits** devem ter mensagens descritivas em português
|
|
256
|
+
- **NÃO usar** mensagens genéricas como "update" ou "fix"
|
|
257
|
+
- **DESCREVER** exatamente o que foi alterado no arquivo
|
|
258
|
+
|
|
259
|
+
### 4. **Testes OBRIGATÓRIOS**
|
|
260
|
+
- **ANTES de publicar** testar TODAS as tools com ambos providers
|
|
261
|
+
- **VALIDAR** funcionamento com GitHub E Gitea
|
|
262
|
+
- **NÃO publicar** versões não testadas
|
|
263
|
+
|
|
264
|
+
## ✅ BOAS PRÁTICAS
|
|
265
|
+
|
|
266
|
+
### Project Path
|
|
267
|
+
- Sempre usar caminhos absolutos
|
|
268
|
+
- Validar se o diretório existe antes das operações
|
|
269
|
+
- Manter consistência entre ferramentas
|
|
270
|
+
|
|
271
|
+
### Providers
|
|
272
|
+
- Gitea: Para projetos pessoais/privados
|
|
273
|
+
- GitHub: Para projetos públicos/open-source
|
|
274
|
+
- Ambos devem funcionar identicamente
|
|
275
|
+
|
|
276
|
+
### Commits
|
|
277
|
+
- Mensagens claras e específicas
|
|
278
|
+
- Descrever função/arquivo alterado
|
|
279
|
+
- Usar português brasileiro
|
|
280
|
+
|
|
281
|
+
### Error Handling
|
|
282
|
+
- Tratar todos os erros possíveis
|
|
283
|
+
- Fornecer mensagens claras
|
|
284
|
+
- Sugerir soluções quando possível`;
|
|
285
|
+
case 'git-mcp://documentation/providers':
|
|
286
|
+
return `# Configuração de Providers
|
|
287
|
+
|
|
288
|
+
## GitHub Setup
|
|
289
|
+
|
|
290
|
+
### Variáveis de Ambiente
|
|
291
|
+
\`\`\`bash
|
|
292
|
+
GITHUB_TOKEN=your_github_token_here
|
|
293
|
+
\`\`\`
|
|
294
|
+
|
|
295
|
+
### Como Obter Token
|
|
296
|
+
1. Acesse: https://github.com/settings/tokens
|
|
297
|
+
2. Generate new token (classic)
|
|
298
|
+
3. Selecione scopes:
|
|
299
|
+
- \`repo\` (acesso completo aos repositórios)
|
|
300
|
+
- \`workflow\` (atualizar workflows GitHub Actions)
|
|
301
|
+
- \`write:packages\` (upload de pacotes)
|
|
302
|
+
|
|
303
|
+
## Gitea Setup
|
|
304
|
+
|
|
305
|
+
### Variáveis de Ambiente
|
|
306
|
+
\`\`\`bash
|
|
307
|
+
GITEA_URL=http://your-gitea-server:3000
|
|
308
|
+
GITEA_TOKEN=your_gitea_token_here
|
|
309
|
+
GITEA_USERNAME=your_username
|
|
310
|
+
\`\`\`
|
|
311
|
+
|
|
312
|
+
### Como Obter Token
|
|
313
|
+
1. Acesse: \`http://your-server:3000/user/settings/applications\`
|
|
314
|
+
2. Crie novo token de acesso
|
|
315
|
+
3. Selecione permissões necessárias
|
|
316
|
+
|
|
317
|
+
## Validação
|
|
318
|
+
|
|
319
|
+
Teste a configuração executando:
|
|
320
|
+
\`\`\`typescript
|
|
321
|
+
// Testar GitHub
|
|
322
|
+
await gitRepositoriesTool.handler({
|
|
323
|
+
action: 'list',
|
|
324
|
+
provider: 'github',
|
|
325
|
+
page: 1,
|
|
326
|
+
limit: 5
|
|
327
|
+
});
|
|
328
|
+
|
|
329
|
+
// Testar Gitea
|
|
330
|
+
await gitRepositoriesTool.handler({
|
|
331
|
+
action: 'list',
|
|
332
|
+
provider: 'gitea',
|
|
333
|
+
page: 1,
|
|
334
|
+
limit: 5
|
|
335
|
+
});
|
|
336
|
+
\`\`\``;
|
|
337
|
+
case 'git-mcp://documentation/tools':
|
|
338
|
+
return `# Ferramentas Disponíveis - Git MCP v3.1.2
|
|
339
|
+
|
|
340
|
+
## 🎯 CORE TOOLS (21 Ferramentas)
|
|
341
|
+
|
|
342
|
+
### Repositories & Projects
|
|
343
|
+
- **git-repositories**: \`create\`, \`list\`, \`get\`, \`update\`, \`delete\`, \`fork\`, \`search\`, \`init\`, \`clone\`
|
|
344
|
+
- **git-projects**: \`list\`, \`get\`, \`create\`, \`update\`, \`delete\`, \`addItem\`, \`updateItem\`, \`deleteItem\`, \`listItems\`
|
|
345
|
+
|
|
346
|
+
### Git Operations
|
|
347
|
+
- **git-commits**: \`list\`, \`get\`, \`create\`, \`compare\`, \`search\`, \`push\`, \`pull\`
|
|
348
|
+
- **git-branches**: \`create\`, \`list\`, \`get\`, \`delete\`, \`merge\`, \`compare\`
|
|
349
|
+
- **git-tags**: \`create\`, \`list\`, \`get\`, \`delete\`, \`search\`
|
|
350
|
+
|
|
351
|
+
### Files & Content
|
|
352
|
+
- **git-files**: \`get\`, \`create\`, \`update\`, \`delete\`, \`list\`, \`search\`, \`upload-project\`
|
|
353
|
+
- **git-archive**: \`create\`, \`extract\`, \`list\`, \`verify\`
|
|
354
|
+
|
|
355
|
+
### Version Control
|
|
356
|
+
- **git-reset**: \`soft\`, \`mixed\`, \`hard\`, \`reset-to-commit\`, \`reset-branch\`
|
|
357
|
+
- **git-revert**: \`revert-commit\`, \`revert-merge\`, \`revert-range\`
|
|
358
|
+
- **git-stash**: \`stash\`, \`pop\`, \`apply\`, \`list\`, \`show\`, \`drop\`, \`clear\`
|
|
359
|
+
|
|
360
|
+
### Issues & Collaboration
|
|
361
|
+
- **git-issues**: \`create\`, \`list\`, \`get\`, \`update\`, \`close\`, \`comment\`, \`search\`
|
|
362
|
+
- **git-pulls**: \`create\`, \`list\`, \`get\`, \`update\`, \`merge\`, \`close\`, \`review\`, \`search\`
|
|
363
|
+
|
|
364
|
+
### Releases & Packages
|
|
365
|
+
- **git-releases**: \`create\`, \`list\`, \`get\`, \`update\`, \`delete\`, \`publish\`
|
|
366
|
+
- **git-packages**: \`list\`, \`get\`, \`create\`, \`update\`, \`delete\`, \`publish\`, \`download\`
|
|
367
|
+
|
|
368
|
+
### Config & Sync
|
|
369
|
+
- **git-config**: \`get\`, \`set\`, \`unset\`, \`list\`, \`edit\`, \`show\`
|
|
370
|
+
- **git-remote**: \`add\`, \`remove\`, \`rename\`, \`show\`, \`set-url\`, \`prune\`
|
|
371
|
+
- **git-sync**: \`configure\`, \`status\`, \`one-shot\`
|
|
372
|
+
|
|
373
|
+
### Project Management
|
|
374
|
+
- **git-update-project**: \`init\`, \`update\`, \`status\`, \`diff\`, \`log\`, \`reset\`, \`stash\`, \`pull\`, \`sync\`
|
|
375
|
+
- **git-initialize**: \`init\`
|
|
376
|
+
|
|
377
|
+
## 📋 PARÂMETROS OBRIGATÓRIOS
|
|
378
|
+
|
|
379
|
+
**TODAS as tools requerem:**
|
|
380
|
+
- \`projectPath\`: Caminho absoluto do projeto
|
|
381
|
+
- \`provider\`: 'gitea' ou 'github' (exceto algumas tools específicas)
|
|
382
|
+
|
|
383
|
+
## 🎯 EXEMPLOS DE USO
|
|
384
|
+
|
|
385
|
+
### Inicializar Projeto
|
|
386
|
+
\`\`\`typescript
|
|
387
|
+
await gitInitializeTool.handler({
|
|
388
|
+
action: 'init',
|
|
389
|
+
projectPath: '/caminho/do/projeto',
|
|
390
|
+
provider: 'gitea',
|
|
391
|
+
message: 'Setup inicial do projeto'
|
|
392
|
+
});
|
|
393
|
+
\`\`\`
|
|
394
|
+
|
|
395
|
+
### Commit de Arquivo
|
|
396
|
+
\`\`\`typescript
|
|
397
|
+
await gitCommitsTool.handler({
|
|
398
|
+
action: 'create',
|
|
399
|
+
projectPath: '/caminho/do/projeto',
|
|
400
|
+
provider: 'gitea',
|
|
401
|
+
message: 'Adiciona função de validação de email no arquivo auth.js'
|
|
402
|
+
});
|
|
403
|
+
\`\`\`
|
|
404
|
+
|
|
405
|
+
### Criar Branch
|
|
406
|
+
\`\`\`typescript
|
|
407
|
+
await gitBranchesTool.handler({
|
|
408
|
+
action: 'create',
|
|
409
|
+
projectPath: '/caminho/do/projeto',
|
|
410
|
+
provider: 'gitea',
|
|
411
|
+
branch_name: 'feature/nova-funcionalidade',
|
|
412
|
+
from_branch: 'main'
|
|
413
|
+
});
|
|
414
|
+
\`\`\``;
|
|
415
|
+
case 'git-mcp://examples/basic-usage':
|
|
416
|
+
return `# Exemplos Básicos de Uso
|
|
417
|
+
|
|
418
|
+
## 🚀 SETUP INICIAL
|
|
419
|
+
|
|
420
|
+
### 1. Configurar Projeto Novo
|
|
421
|
+
\`\`\`typescript
|
|
422
|
+
// Criar repositório remoto primeiro
|
|
423
|
+
await gitRepositoriesTool.handler({
|
|
424
|
+
action: 'create',
|
|
425
|
+
name: 'meu-projeto',
|
|
426
|
+
description: 'Projeto incrível',
|
|
427
|
+
private: true,
|
|
428
|
+
auto_init: true,
|
|
429
|
+
provider: 'gitea'
|
|
430
|
+
});
|
|
431
|
+
|
|
432
|
+
// Inicializar localmente
|
|
433
|
+
await gitInitializeTool.handler({
|
|
434
|
+
action: 'init',
|
|
435
|
+
projectPath: 'Z:\\\\Meus Projetos\\\\meu-projeto',
|
|
436
|
+
provider: 'gitea',
|
|
437
|
+
message: 'Setup inicial do projeto'
|
|
438
|
+
});
|
|
439
|
+
\`\`\`
|
|
440
|
+
|
|
441
|
+
## 📝 TRABALHO DIÁRIO
|
|
442
|
+
|
|
443
|
+
### 2. Adicionar Arquivo e Commitar
|
|
444
|
+
\`\`\`typescript
|
|
445
|
+
// Criar arquivo via tool
|
|
446
|
+
await gitFilesTool.handler({
|
|
447
|
+
action: 'create',
|
|
448
|
+
repo: 'meu-projeto',
|
|
449
|
+
projectPath: 'Z:\\\\Meus Projetos\\\\meu-projeto',
|
|
450
|
+
provider: 'gitea',
|
|
451
|
+
path: 'src/index.js',
|
|
452
|
+
content: 'console.log("Olá Mundo!");',
|
|
453
|
+
message: 'Cria arquivo principal index.js com saudação básica'
|
|
454
|
+
});
|
|
455
|
+
|
|
456
|
+
// Ou upload completo do projeto
|
|
457
|
+
await gitUpdateProjectTool.handler({
|
|
458
|
+
action: 'init',
|
|
459
|
+
repo: 'meu-projeto',
|
|
460
|
+
projectPath: 'Z:\\\\Meus Projetos\\\\meu-projeto',
|
|
461
|
+
provider: 'gitea',
|
|
462
|
+
message: 'Upload completo dos arquivos do projeto'
|
|
463
|
+
});
|
|
464
|
+
\`\`\`
|
|
465
|
+
|
|
466
|
+
### 3. Criar Branch e Trabalhar
|
|
467
|
+
\`\`\`typescript
|
|
468
|
+
// Criar branch
|
|
469
|
+
await gitBranchesTool.handler({
|
|
470
|
+
action: 'create',
|
|
471
|
+
repo: 'meu-projeto',
|
|
472
|
+
projectPath: 'Z:\\\\Meus Projetos\\\\meu-projeto',
|
|
473
|
+
provider: 'gitea',
|
|
474
|
+
branch_name: 'feature/login',
|
|
475
|
+
from_branch: 'main'
|
|
476
|
+
});
|
|
477
|
+
|
|
478
|
+
// Commitar mudanças
|
|
479
|
+
await gitCommitsTool.handler({
|
|
480
|
+
action: 'create',
|
|
481
|
+
repo: 'meu-projeto',
|
|
482
|
+
projectPath: 'Z:\\\\Meus Projetos\\\\meu-projeto',
|
|
483
|
+
provider: 'gitea',
|
|
484
|
+
message: 'Implementa validação de formulário de login'
|
|
485
|
+
});
|
|
486
|
+
\`\`\`
|
|
487
|
+
|
|
488
|
+
## 🔄 SINCRONIZAÇÃO
|
|
489
|
+
|
|
490
|
+
### 4. Push e Pull
|
|
491
|
+
\`\`\`typescript
|
|
492
|
+
// Enviar mudanças
|
|
493
|
+
await gitCommitsTool.handler({
|
|
494
|
+
action: 'push',
|
|
495
|
+
repo: 'meu-projeto',
|
|
496
|
+
projectPath: 'Z:\\\\Meus Projetos\\\\meu-projeto',
|
|
497
|
+
provider: 'gitea',
|
|
498
|
+
branch: 'feature/login'
|
|
499
|
+
});
|
|
500
|
+
|
|
501
|
+
// Baixar mudanças
|
|
502
|
+
await gitCommitsTool.handler({
|
|
503
|
+
action: 'pull',
|
|
504
|
+
repo: 'meu-projeto',
|
|
505
|
+
projectPath: 'Z:\\\\Meus Projetos\\\\meu-projeto',
|
|
506
|
+
provider: 'gitea',
|
|
507
|
+
branch: 'main'
|
|
508
|
+
});
|
|
509
|
+
\`\`\`
|
|
510
|
+
|
|
511
|
+
## 📋 GERENCIAMENTO
|
|
512
|
+
|
|
513
|
+
### 5. Issues e Pull Requests
|
|
514
|
+
\`\`\`typescript
|
|
515
|
+
// Criar issue
|
|
516
|
+
await gitIssuesTool.handler({
|
|
517
|
+
action: 'create',
|
|
518
|
+
repo: 'meu-projeto',
|
|
519
|
+
projectPath: 'Z:\\\\Meus Projetos\\\\meu-projeto',
|
|
520
|
+
provider: 'gitea',
|
|
521
|
+
title: 'Implementar autenticação OAuth',
|
|
522
|
+
body: 'Adicionar suporte para login via Google e GitHub'
|
|
523
|
+
});
|
|
524
|
+
|
|
525
|
+
// Criar PR
|
|
526
|
+
await gitPullsTool.handler({
|
|
527
|
+
action: 'create',
|
|
528
|
+
repo: 'meu-projeto',
|
|
529
|
+
projectPath: 'Z:\\\\Meus Projetos\\\\meu-projeto',
|
|
530
|
+
provider: 'gitea',
|
|
531
|
+
title: 'Feature: Sistema de Login',
|
|
532
|
+
body: 'Implementa autenticação completa com validação',
|
|
533
|
+
head: 'feature/login',
|
|
534
|
+
base: 'main'
|
|
535
|
+
});
|
|
536
|
+
\`\`\`
|
|
537
|
+
|
|
538
|
+
## 📦 RELEASES
|
|
539
|
+
|
|
540
|
+
### 6. Criar Release
|
|
541
|
+
\`\`\`typescript
|
|
542
|
+
await gitReleasesTool.handler({
|
|
543
|
+
action: 'create',
|
|
544
|
+
repo: 'meu-projeto',
|
|
545
|
+
projectPath: 'Z:\\\\Meus Projetos\\\\meu-projeto',
|
|
546
|
+
provider: 'gitea',
|
|
547
|
+
tag_name: 'v1.0.0',
|
|
548
|
+
name: 'Versão 1.0.0',
|
|
549
|
+
body: 'Primeira release estável com sistema de login completo',
|
|
550
|
+
draft: false,
|
|
551
|
+
prerelease: false
|
|
552
|
+
});
|
|
553
|
+
\`\`\``;
|
|
554
|
+
case 'git-mcp://examples/workflows':
|
|
555
|
+
return `# Workflows Completos de Desenvolvimento
|
|
556
|
+
|
|
557
|
+
## 🏗️ WORKFLOW: NOVO PROJETO
|
|
558
|
+
|
|
559
|
+
\`\`\`typescript
|
|
560
|
+
// 1. Criar repositório remoto
|
|
561
|
+
await gitRepositoriesTool.handler({
|
|
562
|
+
action: 'create',
|
|
563
|
+
name: 'novo-projeto',
|
|
564
|
+
description: 'Projeto incrível',
|
|
565
|
+
private: false,
|
|
566
|
+
auto_init: true,
|
|
567
|
+
provider: 'github'
|
|
568
|
+
});
|
|
569
|
+
|
|
570
|
+
// 2. Inicializar projeto local
|
|
571
|
+
await gitInitializeTool.handler({
|
|
572
|
+
action: 'init',
|
|
573
|
+
projectPath: 'C:\\\\Projetos\\\\novo-projeto',
|
|
574
|
+
provider: 'github',
|
|
575
|
+
message: 'Setup inicial do projeto com estrutura base'
|
|
576
|
+
});
|
|
577
|
+
|
|
578
|
+
// 3. Criar estrutura básica
|
|
579
|
+
await gitFilesTool.handler({
|
|
580
|
+
action: 'create',
|
|
581
|
+
repo: 'novo-projeto',
|
|
582
|
+
projectPath: 'C:\\\\Projetos\\\\novo-projeto',
|
|
583
|
+
provider: 'github',
|
|
584
|
+
path: 'README.md',
|
|
585
|
+
content: '# Novo Projeto\\\\n\\\\nProjeto criado com Git MCP.',
|
|
586
|
+
message: 'Adiciona README.md básico'
|
|
587
|
+
});
|
|
588
|
+
\`\`\`
|
|
589
|
+
|
|
590
|
+
## 🚀 WORKFLOW: FEATURE DEVELOPMENT
|
|
591
|
+
|
|
592
|
+
\`\`\`typescript
|
|
593
|
+
// 1. Criar branch da feature
|
|
594
|
+
await gitBranchesTool.handler({
|
|
595
|
+
action: 'create',
|
|
596
|
+
repo: 'meu-app',
|
|
597
|
+
projectPath: 'C:\\\\Projetos\\\\meu-app',
|
|
598
|
+
provider: 'gitea',
|
|
599
|
+
branch_name: 'feature/user-auth',
|
|
600
|
+
from_branch: 'main'
|
|
601
|
+
});
|
|
602
|
+
|
|
603
|
+
// 2. Implementar código
|
|
604
|
+
// ... desenvolver código ...
|
|
605
|
+
|
|
606
|
+
// 3. Commit incremental
|
|
607
|
+
await gitCommitsTool.handler({
|
|
608
|
+
action: 'create',
|
|
609
|
+
repo: 'meu-app',
|
|
610
|
+
projectPath: 'C:\\\\Projetos\\\\meu-app',
|
|
611
|
+
provider: 'gitea',
|
|
612
|
+
message: 'Implementa validação de email no formulário de registro'
|
|
613
|
+
});
|
|
614
|
+
|
|
615
|
+
// 4. Push da branch
|
|
616
|
+
await gitCommitsTool.handler({
|
|
617
|
+
action: 'push',
|
|
618
|
+
repo: 'meu-app',
|
|
619
|
+
projectPath: 'C:\\\\Projetos\\\\meu-app',
|
|
620
|
+
provider: 'gitea',
|
|
621
|
+
branch: 'feature/user-auth'
|
|
622
|
+
});
|
|
623
|
+
|
|
624
|
+
// 5. Criar Pull Request
|
|
625
|
+
await gitPullsTool.handler({
|
|
626
|
+
action: 'create',
|
|
627
|
+
repo: 'meu-app',
|
|
628
|
+
projectPath: 'C:\\\\Projetos\\\\meu-app',
|
|
629
|
+
provider: 'gitea',
|
|
630
|
+
title: 'Feature: Sistema de Autenticação de Usuário',
|
|
631
|
+
body: 'Implementa login, registro e validação de usuários',
|
|
632
|
+
head: 'feature/user-auth',
|
|
633
|
+
base: 'main'
|
|
634
|
+
});
|
|
635
|
+
\`\`\`
|
|
636
|
+
|
|
637
|
+
## 🐛 WORKFLOW: HOTFIX
|
|
638
|
+
|
|
639
|
+
\`\`\`typescript
|
|
640
|
+
// 1. Criar branch de hotfix
|
|
641
|
+
await gitBranchesTool.handler({
|
|
642
|
+
action: 'create',
|
|
643
|
+
repo: 'app-prod',
|
|
644
|
+
projectPath: 'C:\\\\Projetos\\\\app-prod',
|
|
645
|
+
provider: 'github',
|
|
646
|
+
branch_name: 'hotfix/login-crash',
|
|
647
|
+
from_branch: 'main'
|
|
648
|
+
});
|
|
649
|
+
|
|
650
|
+
// 2. Commit da correção
|
|
651
|
+
await gitCommitsTool.handler({
|
|
652
|
+
action: 'create',
|
|
653
|
+
repo: 'app-prod',
|
|
654
|
+
projectPath: 'C:\\\\Projetos\\\\app-prod',
|
|
655
|
+
provider: 'github',
|
|
656
|
+
message: 'Corrige crash no login quando senha é null - adiciona validação'
|
|
657
|
+
});
|
|
658
|
+
|
|
659
|
+
// 3. Merge direto
|
|
660
|
+
await gitBranchesTool.handler({
|
|
661
|
+
action: 'merge',
|
|
662
|
+
repo: 'app-prod',
|
|
663
|
+
projectPath: 'C:\\\\Projetos\\\\app-prod',
|
|
664
|
+
provider: 'github',
|
|
665
|
+
head: 'hotfix/login-crash',
|
|
666
|
+
base: 'main',
|
|
667
|
+
merge_method: 'merge'
|
|
668
|
+
});
|
|
669
|
+
\`\`\``;
|
|
670
|
+
case 'git-mcp://troubleshooting/common-issues':
|
|
671
|
+
return `# Problemas Comuns e Soluções
|
|
672
|
+
|
|
673
|
+
## 🔐 ERROS DE AUTENTICAÇÃO
|
|
674
|
+
|
|
675
|
+
### "Authentication failed"
|
|
676
|
+
\`\`\`bash
|
|
677
|
+
# Verificar tokens
|
|
678
|
+
echo "GITEA_TOKEN: \$GITEA_TOKEN"
|
|
679
|
+
echo "GITHUB_TOKEN: \$GITHUB_TOKEN"
|
|
680
|
+
\`\`\`
|
|
681
|
+
|
|
682
|
+
**Soluções:**
|
|
683
|
+
1. Verificar se tokens não expiraram
|
|
684
|
+
2. Confirmar permissões do token
|
|
685
|
+
3. Validar URLs dos servidores
|
|
686
|
+
|
|
687
|
+
## 📁 ERROS DE CAMINHO
|
|
688
|
+
|
|
689
|
+
### "projectPath is required"
|
|
690
|
+
\`\`\`typescript
|
|
691
|
+
// ✅ CORRETO
|
|
692
|
+
await gitCommitsTool.handler({
|
|
693
|
+
action: 'create',
|
|
694
|
+
projectPath: 'Z:\\\\Projetos\\\\meu-app',
|
|
695
|
+
provider: 'gitea',
|
|
696
|
+
message: 'Adiciona validação de formulário'
|
|
697
|
+
});
|
|
698
|
+
\`\`\`
|
|
699
|
+
|
|
700
|
+
## 🔄 ERROS DE GIT
|
|
701
|
+
|
|
702
|
+
### "Merge conflict"
|
|
703
|
+
\`\`\`typescript
|
|
704
|
+
// Reset para commit anterior
|
|
705
|
+
await gitResetTool.handler({
|
|
706
|
+
action: 'mixed',
|
|
707
|
+
projectPath: 'Z:\\\\Projetos\\\\meu-app',
|
|
708
|
+
provider: 'gitea',
|
|
709
|
+
commit_hash: 'HEAD~1'
|
|
710
|
+
});
|
|
711
|
+
\`\`\``;
|
|
712
|
+
default:
|
|
713
|
+
return '# Conteúdo não encontrado\n\nEste resource não possui conteúdo definido.';
|
|
714
|
+
}
|
|
715
|
+
};
|
|
716
|
+
exports.getResourceContent = getResourceContent;
|
|
717
|
+
/**
|
|
718
|
+
* VALIDAÇÃO GLOBAL - Project Path obrigatório
|
|
108
719
|
*
|
|
109
|
-
*
|
|
110
|
-
*
|
|
111
|
-
* - Configure handlers antes de conectar
|
|
112
|
-
* - Implemente graceful shutdown
|
|
720
|
+
* TODA tool DEVE validar projectPath antes de executar qualquer operação
|
|
721
|
+
* Isso garante que todas as operações sejam executadas dentro do projeto correto
|
|
113
722
|
*/
|
|
723
|
+
const validateProjectPath = (args, toolName) => {
|
|
724
|
+
if (!args.projectPath) {
|
|
725
|
+
throw new Error(`❌ ERRO CRÍTICO: projectPath é obrigatório para a tool '${toolName}'.
|
|
726
|
+
|
|
727
|
+
📋 REGRAS ABSOLUTAS DO GIT MCP:
|
|
728
|
+
🚫 NUNCA executar operações fora do projectPath
|
|
729
|
+
🚫 NUNCA usar comandos git diretamente no terminal
|
|
730
|
+
🚫 TODAS as tools requerem projectPath
|
|
731
|
+
|
|
732
|
+
✅ CORRETO:
|
|
733
|
+
await ${toolName}.handler({
|
|
734
|
+
projectPath: 'Z:\\\\Projetos\\\\meu-projeto', // ← CAMINHO ABSOLUTO OBRIGATÓRIO
|
|
735
|
+
provider: 'gitea',
|
|
736
|
+
...outrosParâmetros
|
|
737
|
+
});
|
|
738
|
+
|
|
739
|
+
💡 DICAS:
|
|
740
|
+
- Use caminhos absolutos (ex: 'C:\\\\Projetos\\\\app' no Windows)
|
|
741
|
+
- Todas as operações ficam restritas ao projectPath e suas subpastas
|
|
742
|
+
- O projectPath é onde o repositório Git está localizado`);
|
|
743
|
+
}
|
|
744
|
+
// Validação adicional: verificar se é um caminho absoluto
|
|
745
|
+
if (!args.projectPath.includes(':\\') && !args.projectPath.startsWith('/')) {
|
|
746
|
+
console.warn(`⚠️ AVISO: projectPath '${args.projectPath}' não parece ser um caminho absoluto. Recomenda-se usar caminhos absolutos para evitar problemas.`);
|
|
747
|
+
}
|
|
748
|
+
};
|
|
749
|
+
exports.validateProjectPath = validateProjectPath;
|
|
750
|
+
const getPromptContent = (name, args) => {
|
|
751
|
+
switch (name) {
|
|
752
|
+
case 'setup-project':
|
|
753
|
+
return `# Configuração de Novo Projeto
|
|
754
|
+
|
|
755
|
+
## Workflow de Setup
|
|
756
|
+
|
|
757
|
+
\`\`\`typescript
|
|
758
|
+
// 1. Criar repositório remoto
|
|
759
|
+
await gitRepositoriesTool.handler({
|
|
760
|
+
action: 'create',
|
|
761
|
+
name: '` + args.repoName + `',
|
|
762
|
+
description: 'Projeto criado via Git MCP',
|
|
763
|
+
private: true,
|
|
764
|
+
auto_init: true,
|
|
765
|
+
provider: '` + args.provider + `'
|
|
766
|
+
});
|
|
767
|
+
|
|
768
|
+
// 2. Inicializar projeto local
|
|
769
|
+
await gitInitializeTool.handler({
|
|
770
|
+
action: 'init',
|
|
771
|
+
projectPath: '` + args.projectPath + `',
|
|
772
|
+
provider: '` + args.provider + `',
|
|
773
|
+
message: 'Setup inicial do projeto ` + args.repoName + `'
|
|
774
|
+
});
|
|
775
|
+
\`\`\``;
|
|
776
|
+
case 'sync-project':
|
|
777
|
+
return `# Sincronização Completa do Projeto
|
|
778
|
+
|
|
779
|
+
## Workflow de Sync
|
|
780
|
+
|
|
781
|
+
\`\`\`typescript
|
|
782
|
+
await gitUpdateProjectTool.handler({
|
|
783
|
+
action: 'sync',
|
|
784
|
+
projectPath: '` + args.projectPath + `',
|
|
785
|
+
provider: '` + args.provider + `',
|
|
786
|
+
message: '` + (args.message || 'Sincronização automática') + `'
|
|
787
|
+
});
|
|
788
|
+
\`\`\``;
|
|
789
|
+
case 'create-release':
|
|
790
|
+
return `# Criação de Release ` + args.version + `
|
|
791
|
+
|
|
792
|
+
## Workflow
|
|
793
|
+
|
|
794
|
+
\`\`\`typescript
|
|
795
|
+
// Criar release
|
|
796
|
+
await gitReleasesTool.handler({
|
|
797
|
+
action: 'create',
|
|
798
|
+
repo: '` + args.repo + `',
|
|
799
|
+
projectPath: '` + args.projectPath + `',
|
|
800
|
+
provider: '` + args.provider + `',
|
|
801
|
+
tag_name: '` + args.version + `',
|
|
802
|
+
name: 'Release ` + args.version + `',
|
|
803
|
+
body: 'Nova versão lançada',
|
|
804
|
+
draft: false,
|
|
805
|
+
prerelease: false
|
|
806
|
+
});
|
|
807
|
+
\`\`\``;
|
|
808
|
+
default:
|
|
809
|
+
return `# Prompt não encontrado
|
|
810
|
+
|
|
811
|
+
Este prompt não possui template definido.`;
|
|
812
|
+
}
|
|
813
|
+
};
|
|
814
|
+
exports.getPromptContent = getPromptContent;
|
|
114
815
|
class GiteaMCPServer {
|
|
115
816
|
server;
|
|
116
817
|
constructor() {
|
|
@@ -158,6 +859,8 @@ class GiteaMCPServer {
|
|
|
158
859
|
throw new Error(`Tool '${name}' not found`);
|
|
159
860
|
}
|
|
160
861
|
try {
|
|
862
|
+
// ✅ VALIDAÇÃO GLOBAL: projectPath obrigatório para TODAS as tools
|
|
863
|
+
validateProjectPath(args, name);
|
|
161
864
|
// Executa o handler da tool
|
|
162
865
|
const result = await tool.handler(args || {});
|
|
163
866
|
return {
|
|
@@ -187,6 +890,58 @@ class GiteaMCPServer {
|
|
|
187
890
|
};
|
|
188
891
|
}
|
|
189
892
|
});
|
|
893
|
+
// Handler para listar resources disponíveis
|
|
894
|
+
this.server.setRequestHandler(types_js_1.ListResourcesRequestSchema, async () => {
|
|
895
|
+
return {
|
|
896
|
+
resources: resources.map(resource => ({
|
|
897
|
+
uri: resource.uri,
|
|
898
|
+
name: resource.name,
|
|
899
|
+
description: resource.description,
|
|
900
|
+
mimeType: resource.mimeType
|
|
901
|
+
}))
|
|
902
|
+
};
|
|
903
|
+
});
|
|
904
|
+
// Handler para ler conteúdo de resources
|
|
905
|
+
this.server.setRequestHandler(types_js_1.ReadResourceRequestSchema, async (request) => {
|
|
906
|
+
const { uri } = request.params;
|
|
907
|
+
const content = getResourceContent(uri);
|
|
908
|
+
return {
|
|
909
|
+
contents: [
|
|
910
|
+
{
|
|
911
|
+
uri: uri,
|
|
912
|
+
mimeType: 'text/markdown',
|
|
913
|
+
text: content
|
|
914
|
+
}
|
|
915
|
+
]
|
|
916
|
+
};
|
|
917
|
+
});
|
|
918
|
+
// Handler para listar prompts disponíveis
|
|
919
|
+
this.server.setRequestHandler(types_js_1.ListPromptsRequestSchema, async () => {
|
|
920
|
+
return {
|
|
921
|
+
prompts: prompts.map(prompt => ({
|
|
922
|
+
name: prompt.name,
|
|
923
|
+
description: prompt.description,
|
|
924
|
+
arguments: prompt.arguments
|
|
925
|
+
}))
|
|
926
|
+
};
|
|
927
|
+
});
|
|
928
|
+
// Handler para obter conteúdo de prompts
|
|
929
|
+
this.server.setRequestHandler(types_js_1.GetPromptRequestSchema, async (request) => {
|
|
930
|
+
const { name, arguments: args = {} } = request.params;
|
|
931
|
+
const content = getPromptContent(name, args);
|
|
932
|
+
return {
|
|
933
|
+
description: prompts.find(p => p.name === name)?.description || 'Prompt template',
|
|
934
|
+
messages: [
|
|
935
|
+
{
|
|
936
|
+
role: 'user',
|
|
937
|
+
content: {
|
|
938
|
+
type: 'text',
|
|
939
|
+
text: content
|
|
940
|
+
}
|
|
941
|
+
}
|
|
942
|
+
]
|
|
943
|
+
};
|
|
944
|
+
});
|
|
190
945
|
}
|
|
191
946
|
/**
|
|
192
947
|
* Inicializa e executa o servidor MCP
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;;AAAA,wEAAmE;AACnE,wEAAiF;AACjF,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,61 +1,61 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@andrebuzeli/git-mcp",
|
|
3
|
-
"version": "3.
|
|
4
|
-
"description": "MCP server for Gitea and GitHub integration with 20 comprehensive DevOps tools - 100% AUTO-SUFFICIENT: Complete Git/GitHub functionality with ALL methods implemented, GitOperations class, FileOperations, TerminalOperations, Unified git-update-project with 9 actions (init, update, status, diff, log, reset, stash, pull, sync), Git Initialize, Packages, Projects - NO external dependencies, NO terminal commands, FULLY IMPLEMENTED - Enhanced validation with REQUIRED provider parameter, Label search implementation for Gitea, Debug logs removed, Code cleanup, FIXED: git-stash, git-archive, git-config, git-remote errors resolved - CRITICAL FIXES: URL malformed error correction, addComment and searchIssues implementation, improved authentication handling, enhanced parameter validation",
|
|
5
|
-
"main": "dist/index.js",
|
|
6
|
-
"bin": {
|
|
7
|
-
"git-mcp": "dist/index.js"
|
|
8
|
-
},
|
|
9
|
-
"scripts": {
|
|
10
|
-
"build": "tsc --noEmitOnError false",
|
|
11
|
-
"start": "node dist/index.js",
|
|
12
|
-
"dev": "ts-node src/index.ts",
|
|
13
|
-
"test": "node tests/basic.test.js",
|
|
14
|
-
"test-tools": "node test-tools.js",
|
|
15
|
-
"lint": "echo \"No linting configured\" && exit 0",
|
|
16
|
-
"prepublishOnly": "npm run build",
|
|
17
|
-
"postpublish": "echo 'Git MCP v3.
|
|
18
|
-
|
|
19
|
-
},
|
|
20
|
-
"keywords": [
|
|
21
|
-
"mcp",
|
|
22
|
-
"gitea",
|
|
23
|
-
"git",
|
|
24
|
-
"model-context-protocol",
|
|
25
|
-
"self-hosted",
|
|
26
|
-
"api",
|
|
27
|
-
"sync",
|
|
28
|
-
"version-control",
|
|
29
|
-
"backup",
|
|
30
|
-
"code-review",
|
|
31
|
-
"ci-cd"
|
|
32
|
-
],
|
|
33
|
-
"author": "Andre Buzeli",
|
|
34
|
-
"license": "MIT",
|
|
35
|
-
"repository": {
|
|
36
|
-
"type": "git",
|
|
37
|
-
"url": "git+https://github.com/andrebuzeli/gitea-mcp-v2.git"
|
|
38
|
-
},
|
|
39
|
-
"dependencies": {
|
|
40
|
-
"@modelcontextprotocol/sdk": "^0.4.0",
|
|
41
|
-
"axios": "^1.6.0",
|
|
42
|
-
"dotenv": "^17.2.2",
|
|
43
|
-
"zod": "^3.22.0"
|
|
44
|
-
},
|
|
45
|
-
"devDependencies": {
|
|
46
|
-
"@types/node": "^20.19.15",
|
|
47
|
-
"ts-node": "^10.9.0",
|
|
48
|
-
"typescript": "^5.0.0"
|
|
49
|
-
},
|
|
50
|
-
"engines": {
|
|
51
|
-
"node": ">=18.0.0"
|
|
52
|
-
},
|
|
53
|
-
"publishConfig": {
|
|
54
|
-
"access": "public"
|
|
55
|
-
},
|
|
56
|
-
"files": [
|
|
57
|
-
"dist/**/*",
|
|
58
|
-
"README.md",
|
|
59
|
-
"LICENSE"
|
|
60
|
-
]
|
|
61
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@andrebuzeli/git-mcp",
|
|
3
|
+
"version": "3.2.0",
|
|
4
|
+
"description": "MCP server for Gitea and GitHub integration with 20 comprehensive DevOps tools - 100% AUTO-SUFFICIENT: Complete Git/GitHub functionality with ALL methods implemented, GitOperations class, FileOperations, TerminalOperations, Unified git-update-project with 9 actions (init, update, status, diff, log, reset, stash, pull, sync), Git Initialize, Packages, Projects - NO external dependencies, NO terminal commands, FULLY IMPLEMENTED - Enhanced validation with REQUIRED provider parameter, Label search implementation for Gitea, Debug logs removed, Code cleanup, FIXED: git-stash, git-archive, git-config, git-remote errors resolved - CRITICAL FIXES: URL malformed error correction, addComment and searchIssues implementation, improved authentication handling, enhanced parameter validation",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"bin": {
|
|
7
|
+
"git-mcp": "dist/index.js"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"build": "tsc --noEmitOnError false",
|
|
11
|
+
"start": "node dist/index.js",
|
|
12
|
+
"dev": "ts-node src/index.ts",
|
|
13
|
+
"test": "node tests/basic.test.js",
|
|
14
|
+
"test-tools": "node test-tools.js",
|
|
15
|
+
"lint": "echo \"No linting configured\" && exit 0",
|
|
16
|
+
"prepublishOnly": "npm run build",
|
|
17
|
+
"postpublish": "echo 'Git MCP v3.2.0 published successfully - PROJECT PATH VALIDATION & MCP RESOURCES: projectPath obrigatório em todas as tools, validação global implementada, 6 resources MCP (documentação, exemplos, troubleshooting), 4 prompts MCP (setup-project, sync-project, troubleshoot-auth, create-release), 100% compliance with MCP protocol, enhanced user experience with built-in documentation and templates - PRODUCTION READY!'"
|
|
18
|
+
|
|
19
|
+
},
|
|
20
|
+
"keywords": [
|
|
21
|
+
"mcp",
|
|
22
|
+
"gitea",
|
|
23
|
+
"git",
|
|
24
|
+
"model-context-protocol",
|
|
25
|
+
"self-hosted",
|
|
26
|
+
"api",
|
|
27
|
+
"sync",
|
|
28
|
+
"version-control",
|
|
29
|
+
"backup",
|
|
30
|
+
"code-review",
|
|
31
|
+
"ci-cd"
|
|
32
|
+
],
|
|
33
|
+
"author": "Andre Buzeli",
|
|
34
|
+
"license": "MIT",
|
|
35
|
+
"repository": {
|
|
36
|
+
"type": "git",
|
|
37
|
+
"url": "git+https://github.com/andrebuzeli/gitea-mcp-v2.git"
|
|
38
|
+
},
|
|
39
|
+
"dependencies": {
|
|
40
|
+
"@modelcontextprotocol/sdk": "^0.4.0",
|
|
41
|
+
"axios": "^1.6.0",
|
|
42
|
+
"dotenv": "^17.2.2",
|
|
43
|
+
"zod": "^3.22.0"
|
|
44
|
+
},
|
|
45
|
+
"devDependencies": {
|
|
46
|
+
"@types/node": "^20.19.15",
|
|
47
|
+
"ts-node": "^10.9.0",
|
|
48
|
+
"typescript": "^5.0.0"
|
|
49
|
+
},
|
|
50
|
+
"engines": {
|
|
51
|
+
"node": ">=18.0.0"
|
|
52
|
+
},
|
|
53
|
+
"publishConfig": {
|
|
54
|
+
"access": "public"
|
|
55
|
+
},
|
|
56
|
+
"files": [
|
|
57
|
+
"dist/**/*",
|
|
58
|
+
"README.md",
|
|
59
|
+
"LICENSE"
|
|
60
|
+
]
|
|
61
|
+
}
|