{"id":50472440,"url":"https://github.com/semcod/mcp","last_synced_at":"2026-06-01T11:03:35.228Z","repository":{"id":355384919,"uuid":"1227862462","full_name":"semcod/mcp","owner":"semcod","description":null,"archived":false,"fork":false,"pushed_at":"2026-05-03T12:07:04.000Z","size":226,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-03T12:14:30.937Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/semcod.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-03T09:15:32.000Z","updated_at":"2026-05-03T12:07:08.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/semcod/mcp","commit_stats":null,"previous_names":["semcod/mcp"],"tags_count":11,"template":false,"template_full_name":null,"purl":"pkg:github/semcod/mcp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semcod%2Fmcp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semcod%2Fmcp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semcod%2Fmcp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semcod%2Fmcp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/semcod","download_url":"https://codeload.github.com/semcod/mcp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/semcod%2Fmcp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33771630,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-01T02:00:06.963Z","response_time":115,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-01T11:03:35.091Z","updated_at":"2026-06-01T11:03:35.214Z","avatar_url":"https://github.com/semcod.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![img.png](img.png)\n\n# Autonomiczny Agent Refaktoryzacji MCP\n\n\n## AI Cost Tracking\n\n![PyPI](https://img.shields.io/badge/pypi-costs-blue) ![Version](https://img.shields.io/badge/version-0.0.7-blue) ![Python](https://img.shields.io/badge/python-3.9+-blue) ![License](https://img.shields.io/badge/license-Apache--2.0-green)\n![AI Cost](https://img.shields.io/badge/AI%20Cost-$3.30-orange) ![Human Time](https://img.shields.io/badge/Human%20Time-5.4h-blue) ![Model](https://img.shields.io/badge/Model-openrouter%2Fqwen%2Fqwen3--coder--next-lightgrey)\n\n- 🤖 **LLM usage:** $3.3000 (22 commits)\n- 👤 **Human dev:** ~$538 (5.4h @ $100/h, 30min dedup)\n\nGenerated on 2026-05-03 using [openrouter/qwen/qwen3-coder-next](https://openrouter.ai/qwen/qwen3-coder-next)\n\n---\n\nSystem autonomicznej refaktoryzacji kodu oparty na Model Context Protocol (MCP), integrujący:\n- **MCP Git Proxy** - izolowany serwis git z osobnym volume i API do sync/commit/test/push\n- **MCP Skills Server** - analiza kodu i metryki na cache repozytoriów\n- **LLM Agent (`git2mcp`)** - planowanie refaktoryzacji i commitowanie zmian przez proxy git\n- **MCP Gateway** - publiczny shim OpenAI-compatible (auth, multi-tenant, SSE) do integracji z OpenWebUI\n- **MCP WebUI** - panel testowy QA / admin dla `mcp-skills`\n- **gh2mcp Agent** - synchronizacja tokenu GitHub z `gh` CLI do `.env` (autostart w Docker)\n\n## Quick start\n\n```bash\ncp .env.example .env          # ustaw OPENROUTER_API_KEY i WEBUI_API_KEY\nmake start                    # killuje porty hostowe i uruchamia cały stack\n```\n\n### Konfiguracja GitHub (opcjonalna, wymagana do clone/push/create-repo)\n\n```bash\n# Metoda A — gh CLI (zalecana)\ngh auth login                 # jednorazowe logowanie\nmake setup-github             # pobiera token z gh i zapisuje do .env\n\n# Metoda B — przez WebUI (po make start)\n# http://localhost:8092/github → \"Pobierz token z gh CLI\"\n\n# Metoda C — ręcznie\necho \"GITHUB_PAT=ghp_xxx\" \u003e\u003e .env\n\n# Test integracji GitHub\nexport GITHUB_PAT=ghp_xxx\nmake ansible-github-test      # weryfikuje token + create-repo + cleanup\n```\n\n### Szybki workflow: ostatnie repo -\u003e analiza -\u003e refactor\n\nMasz gotowy skrypt automatyzujący najczęstszy przepływ:\n\n```bash\n# 1) tylko analiza i plan kolejnych etapów dla ostatnio aktualizowanego repo GitHub\nbash scripts/refactor-last-repo.sh\n\n# 2) analiza + execute (commit artefaktów przez gateway/git-proxy)\nbash scripts/refactor-last-repo.sh --execute\n\n# 3) analiza + execute + push + PR\nbash scripts/refactor-last-repo.sh --execute --push --pr\n\n# 4) praca na konkretnym repo\nbash scripts/refactor-last-repo.sh --repo semcod/mcp --execute --task \"Etap 2 refaktoryzacji gateway\"\n```\n\nSkrypt zapisuje odpowiedzi API i wynik JSON do katalogu:\n`output/refactor-last-repo-\u003ctimestamp\u003e/`.\n\n`make start` uruchamia także `gh2mcp-agent`, który przy starcie może zsynchronizować token do `.env`\n(`GH2MCP_SYNC_ON_START=true`).\n\n```bash\n# make stop                   # zatrzymuje wszystko\n# make smoke                  # szybki test API gateway/webui\n# make generate-demo-repos    # tworzy 3 repo demo (auto: github/local fallback)\n# make generate-demo-repos-github  # wymusza tryb github (gh + fallback)\n# make help                   # pełna lista targetów\n```\n\n| Serwis | URL |\n|---|---|\n| OpenWebUI (chat) | http://localhost:3000 |\n| MCP WebUI (admin) | http://localhost:8092 |\n| MCP WebUI GitHub | http://localhost:8092/github |\n| MCP Docs (playbooki) | http://localhost:8093 |\n| Gateway (API) | http://localhost:9000 |\n| Dashboard | http://localhost:8085 |\n| Git Proxy (dev) | http://localhost:8081 |\n\nPełne scenariusze użycia: [`docs/USAGE.md`](docs/USAGE.md).\nDialogi chat-playbook (copy/paste): [`docs/CHAT_PLAYBOOKS.md`](docs/CHAT_PLAYBOOKS.md).\nArchitektura produktowa: [`docs/PRODUCT.md`](docs/PRODUCT.md).\nPlan refaktoryzacji: [`REFACTORING_PLAN.md`](REFACTORING_PLAN.md).\n\n## Architektura\n\n```\n┌─────────────┐     ┌─────────────┐     ┌─────────────┐\n│  LLM Agent  │────▶│ MCP Skills  │◀────│ MCP Git     │\n│ (git2mcp)   │     │  Server     │     │ Proxy       │\n└─────────────┘     └─────────────┘     └─────────────┘\n      │\n      ▼\n┌─────────────┐\n│  LLM API    │\n│ (OpenRouter │\n│  lite/model)│\n└─────────────┘\n```\n\n### Jak działa separacja Git ↔ Skills\n\n1. `mcp-git-proxy` zarządza wieloma repozytoriami (`team/repo-a`, `team/repo-b`, ...), klonuje je i utrzymuje historię git.\n2. `git2mcp` eksportuje repo jako paczkę (`tar.gz + base64`) przez endpoint `/packages/export`.\n3. `mcp-skills` synchronizuje paczkę do własnego cache (`/skills-cache`) narzędziem `sync_repo_from_git_proxy`.\n4. `llm-agent` analizuje cache, tworzy plan i zapisuje zmiany jako commit przez API proxy (bez ręcznej edycji przez shell).\n5. Commit można lokalnie przetestować (`/run-tests`) i dopiero potem wypchnąć (`/push`).\n\nTryb transferu do `mcp-skills`:\n- preferowany: `POST /packages/export-fragments` (fragmenty `path + content_b64`, rekonstrukcja plików po stronie skills)\n- fallback: `POST /packages/export` (`tar.gz + base64`)\n\n`mcp-skills` nie współdzieli volume `/git-repos` z git proxy — otrzymuje repo wyłącznie przez MCP transfer.\n\n## Szybki Start\n\n### 1. Wymagania\n\n- Docker \u0026 Docker Compose\n- Python 3.11+ (dla lokalnego uruchomienia)\n- (Opcjonalnie) GitHub PAT - dla operacji na repo\n- (Opcjonalnie) OpenAI API Key - dla zaawansowanej analizy LLM\n\n### 2. Instalacja\n\n```bash\n# Klonowanie i setup\n./scripts/deploy.sh\n```\n\n### 3. Konfiguracja\n\n```bash\n# Skopiuj przykładową konfigurację\ncp .env.example .env\n\n# Edytuj .env zgodnie z potrzebami\nnano .env\n```\n\n### 4. Uruchomienie\n\n```bash\n# Uruchom wszystkie serwisy\ndocker-compose up -d\n\n# Uruchom agenta z analizą repozytorium\ndocker-compose run --rm llm-agent python agent_git2mcp.py \\\n  --repo team/my-repo \\\n  --repo-url https://github.com/team/my-repo.git\n```\n\n## Struktura Projektu\n\n```\n.\n├── docker-compose.yml          # Konfiguracja Docker (dev)\n├── docker-compose.prod.yml   # Overlay produkcyjny\n├── Makefile                  # Zarządzanie cyklem życia (start, stop, smoke)\n├── .env.example              # Przykładowa konfiguracja\n├── README.md                 # Dokumentacja\n├── CHANGELOG.md              # Historia zmian\n├── TODO.md                   # Zadania do zrobienia\n├── REFACTORING_PLAN.md       # Plan architektoniczny\n│\n├── mcp-git-proxy/            # MCP Git Proxy - operacje git przez HTTP API\n│   ├── Dockerfile\n│   ├── requirements.txt\n│   └── server.py\n│\n├── git2mcp/                  # Pakiet Python do operacji git przez MCP\n│   ├── git2mcp/\n│   │   ├── client.py         # Async HTTP client\n│   │   └── proxy.py          # GitProxyManager (serwer)\n│   ├── examples/             # Przykłady użycia (01-05)\n│   ├── tests/                # Testy pytest\n│   ├── pyproject.toml\n│   └── README.md\n│\n├── gh2mcp/                   # NOWOŚĆ: agent sync tokenu GitHub (gh -\u003e .env)\n│   ├── gh2mcp/\n│   │   ├── sync.py\n│   │   ├── server.py\n│   │   └── cli.py\n│   ├── Dockerfile\n│   ├── pyproject.toml\n│   └── README.md\n│\n├── mcp-skills/               # MCP Skills Server - analiza kodu\n│   ├── Dockerfile\n│   ├── requirements.txt\n│   └── server.py             # FastAPI HTTP API + MCP STDIO\n│\n├── mcp-gateway/              # NOWOŚĆ: OpenAI-compatible shim\n│   ├── Dockerfile\n│   ├── requirements.txt\n│   ├── server.py             # FastAPI + SSE + multi-tenant\n│   └── tenants/              # Konfiguracja tenantów (YAML)\n│       └── default.yaml\n│\n├── mcp-webui/                # NOWOŚĆ: Panel testowy QA/admin\n│   ├── Dockerfile\n│   ├── requirements.txt\n│   ├── server.py             # FastAPI + Jinja2 + HTMX\n│   └── templates/            # HTML templates\n│\n├── llm-agent/                # Autonomiczny Agent\n│   ├── Dockerfile\n│   ├── requirements.txt\n│   ├── agent.py\n│   ├── agent_standalone.py\n│   └── agent_git2mcp.py      # Workflow przez git2mcp\n│\n├── dashboard/                # Wizualizacja wyników\n│   ├── Dockerfile\n│   ├── server.py\n│   └── index.html\n│\n├── ansible/                  # NOWOŚĆ: Ansible E2E tests\n│   ├── inventory.ini\n│   ├── e2e-docker-stack.yml\n│   └── test-github-integration.yml\n│\n├── env2mcp/                  # NOWOŚĆ: konfiguracja .env i GitHub auth helper\n│   ├── env2mcp/\n│   │   ├── cli.py\n│   │   ├── config.py\n│   │   └── github_cli.py\n│   ├── pyproject.toml\n│   └── README.md\n│\n├── mcp-docs/                # Serwis dokumentacji (Docker, port 8093)\n│   ├── Dockerfile\n│   ├── requirements.txt\n│   └── server.py\n│\n├── docs/                       # Dokumentacja produktowa\n│   ├── PRODUCT.md            # Architektura produktowa\n│   ├── USAGE.md              # Scenariusze użycia (10 przepływów)\n│   ├── USE_CASES.md          # Gotowe use-case + prompty\n│   └── CHAT_PLAYBOOKS.md     # Dialogi chat jako playbook operacyjny\n│\n├── scripts/\n│   ├── deploy.sh\n│   ├── test.sh\n│   ├── generate_demo_repos.sh  # Generowanie repo demo (GitHub/local)\n│   └── refactor-last-repo.sh  # Auto workflow: last repo → analyze → refactor\n│\n├── repos/                      # Repo hosta (read-only mount)\n└── output/                     # Wyniki analizy (volume)\n```\n\n## Nowa Architektura Produktowa (Maj 2026)\n\n### MCP Gateway - Publiczny Entrypoint\nOpenAI-compatible HTTP API shim dla integracji z zewnętrznymi klientami:\n- **Endpointy**: `/v1/models`, `/v1/chat/completions` (z SSE streaming), `/jobs/{job_id}`, `/jobs/{job_id}/stream`\n- **Autoryzacja**: Bearer token (per-tenant API keys)\n- **Multi-tenant**: Konfiguracja przez `tenants/*.yaml`\n- **Audit logging**: JSONL logi w wolumenie `audit-storage`\n- **Prompt parsing**: Automatyczne parsowanie pól (Repo, Repo URL, Source, Branch, Execute, Push, Draft, PR, Test, Remote, Zadanie, GitHub Token)\n- **Komendy systemowe**: sync/zapis tokenu, zarządzanie organizacjami, auto-resolve repo z szablonu `{{...}}`\n- **Repo template**: `Repo: {{pokaż ostatnie repo z github}}` → auto-resolve przez gh2mcp\n- **GitHub auth auto-recovery**: automatyczne odświeżenie tokenu przy błędzie 401 + 3-opcji recovery message\n- **Async mode (Redis/RQ)**: długie operacje wykonywane w tle z job streaming via SSE (`async_mode: true`)\n\n### MCP WebUI - Panel Testowy\nFastAPI + HTMX + Tailwind dla QA i administratorów:\n- Dashboard ze statusem gateway\n- Lista repozytoriów + sync form\n- Uruchamianie skilli przez gateway\n- Podgląd diffów\n- Playground dla free-form promptów\n- Konfiguracja GitHub i zarządzanie repo na `/github`\n- **URL**: http://localhost:8092\n\n### OpenWebUI - Dla Użytkowników Końcowych\nOficjalny frontend (docker image) podłączony do MCP Gateway:\n- Chat z modelami `mcp-skills/refactor` i `mcp-skills/analyze`\n- **URL**: http://localhost:3000\n\n### MCP Skills - HTTP API\nSerwer FastAPI z endpointami (poza MCP STDIO):\n- `POST /sync` - Synchronizacja repo z git-proxy\n- `POST /analyze/structure` - Analiza struktury kodu\n- `POST /analyze/metrics` - Metryki repozytorium\n- `POST /analyze/patterns` - Wykrywanie wzorców\n- `POST /refactor/recommend` - Rekomendacje refaktoryzacji\n- `GET /health` - Healthcheck\n\n## MCP Skills - Narzędzia\n\n### analyze_code_structure\nAnaliza struktury kodu dla podanych ścieżek (via HTTP API lub MCP).\n\n### compute_metrics_for_repo\nMetryki całego repozytorium.\n\n### detect_code_patterns\nWykrywanie wzorców i antywzorców.\n\n### recommend_refactoring\nRekomendacje refaktoryzacji z priorytetyzacją.\n\n### sync_repo_from_git_proxy\nSynchronizacja repozytorium z `mcp-git-proxy` do cache skills.\n\n## git2mcp - Pakiet Proxy\n\n`git2mcp` dostarcza dwa komponenty:\n- `GitProxyManager` (serwer w `mcp-git-proxy`) — sync repo, export paczek, commit/test/push\n- `Git2MCPClient` (klient async) — używany przez agentów i gateway\n\n### Nowe Operacje Lokalne (v0.1.9)\nOperacje na working tree bez commitowania:\n- `worktree_read/write/diff` - Bezpośrednia edycja plików\n- `patch_apply` - Aplikowanie unified diff\n- `stage` - Dodawanie do indeksu\n- `stash_save/pop` - Stash operacje\n- `branch_draft` - Tworzenie branchy draft/*\n- `checkpoint_create/restore` - Snapshoty tarball dla rollback\n- `reset` - Git reset (hard/soft/mixed)\n\nZobacz `git2mcp/examples/05_local_iterate.py` dla workflow: checkpoint → patch → test → commit (lub rollback).\n\nNajważniejsze endpointy `mcp-git-proxy`:\n- `POST /repos/sync` - klonowanie/pull repo do izolowanego volume\n- `POST /packages/export-fragments` - export repo jako fragmenty (`path + content_b64`)\n- `POST /packages/export` - eksport pełnego repo do paczki\n- `POST /repos/{repo_id}/commit` - commit zmian przesłanych jako payload\n- `POST /repos/{repo_id}/run-tests` - test commitu przed pushem\n- `POST /repos/{repo_id}/push` - push po pozytywnych testach\n\n## Przykłady Użycia\n\n### Analiza lokalnego repozytorium\n\n```bash\n# Przygotuj testowe repozytorium\nmkdir -p repos/my-project\ncp -r /path/to/code/* repos/my-project/\n\n# Uruchom analizę\ndocker-compose run --rm llm-agent python agent_git2mcp.py \\\n  --repo test/sample-project \\\n  --source-path /host-repos/test/sample-project \\\n  --branch main\n```\n\n### Użycie z OpenAI\n\n```bash\n# W .env ustaw:\n# LLM_PROVIDER=openai\n# OPENAI_API_KEY=sk-...\n\ndocker-compose run --rm llm-agent python agent_git2mcp.py \\\n  --repo team/my-repo \\\n  --source-path /host-repos/my-project\n```\n\n### Użycie z lokalnym Ollama\n\n```bash\n# Uruchom Ollama\ndocker-compose --profile ollama up -d ollama\n\n# W .env ustaw:\n# LLM_PROVIDER=ollama\n# OLLAMA_HOST=http://ollama:11434\n\ndocker-compose run --rm llm-agent python agent_git2mcp.py \\\n  --repo my-project \\\n  --source-path /host-repos/my-project\n```\n\n### Użycie z lokalnym OpenRouter Lite\n\n```bash\n# LLM Provider: openrouter-lite, mock, openai, ollama\n# LLM_PROVIDER=openrouter-lite\n# OPENROUTER_API_KEY=...\n# LLM_MODEL=openrouter/x-ai/grok-code-fast-1\n\ndocker-compose run --rm llm-agent python agent_git2mcp.py \\\n  --repo my-project \\\n  --source-path /host-repos/my-project \\\n  --execute\n```\n\n## Workflow Autonomicznej Refaktoryzacji\n\n### Nowy Gateway Workflow (via OpenWebUI lub API)\n\n1. **Prompt** - Użytkownik wysyła prompt przez OpenWebUI (lub API) z polami:\n   - `Repo: team/project`, `Source: /path`, `Branch: main`\n   - `Execute: true` (opcjonalnie wykonaj commit)\n   - `Push: true` (opcjonalnie wypchnij)\n   - `Zadanie: Przeanalizuj i zaproponuj refaktor...`\n\n2. **Gateway Processing**:\n   - Parsuje prompt i routing do `mcp-git-proxy` (sync repo)\n   - Wywołuje `mcp-skills` HTTP API (analyze, metrics, patterns)\n   - Generuje plan refaktoryzacji (`.mcp/refactor-plan.json`)\n   - Tworzy summary (`.mcp/refactor-summary.md`)\n   - Jeśli `Execute=true`: commit artefaktów + test + push (jeśli `Push=true`)\n\n3. **Wynik** - JSON z analizą, planem i statusem wykonania.\n\n### Tradycyjny Agent Workflow\n\n1. **Sync Git** - `mcp-git-proxy` pobiera/aktualizuje repo do własnego volume.\n2. **Cache Skills** - `git2mcp` eksportuje paczkę repo i odświeża cache w skills.\n3. **Analiza** - agent liczy metryki i wykrywa wzorce.\n4. **Planowanie** - lite LLM generuje plan refaktoryzacji.\n5. **Commit via MCP** - zmiany idą jako payload do `/commit`, bez ręcznej edycji plików przez shell.\n6. **Test lokalny** - `/run-tests` w izolowanym repo git proxy.\n7. **Push (opcjonalny)** - tylko po przejściu testów.\n\n## Użycie z Makefile (Zalecane)\n\n```bash\n# Start całego stacku (zabija porty, build, up, smoke-test)\nmake start\n\n# Sprawdź status\nmake ps\n\n# Logi w czasie rzeczywistym\nmake logs\n\n# Smoke test API\nmake smoke\n\n# Stop wszystkiego\nmake stop\n\n# Produkcja (bez dev mountów)\nmake prod-up\n\n# Więcej opcji\nmake help\n```\n\n## Dashboard - Wizualizacja Wyników\n\nDashboard webowy dostarcza interaktywny interfejs do przeglądania wyników analizy.\n\n### Uruchomienie dashboardu\n\n```bash\n# Dashboard startuje automatycznie z deploy.sh\n# Lub ręcznie:\ndocker-compose up -d dashboard\n```\n\n### Dostęp do dashboardu\n\n- **Dashboard UI**: http://localhost:8085\n- **API Status**: http://localhost:8085/api/status\n- **Lista analiz**: http://localhost:8085/api/analyses\n\n### Funkcje dashboardu\n\n- **Metryki w czasie rzeczywistym** - liczba plików, linii, funkcji, klas\n- **Lista plików** - ranking największych plików z metrykami\n- **Analiza importów** - najczęściej używane biblioteki\n- **Rekomendacje** - priorytetowe akcje refaktoryzacji\n- **Plan refaktoryzacji** - podsumowanie z architekturą i ryzykami\n- **Szczegóły techniczne** - pełny JSON z analizy\n\n### Przykładowe użycie\n\n```bash\n# Wygeneruj analizę\ndocker-compose run --rm llm-agent python agent_git2mcp.py \\\n  --repo test/sample-project \\\n  --source-path /host-repos/test/sample-project \\\n  --execute\n\n# Otwórz dashboard w przeglądarce\nopen http://localhost:8085\n# lub\nxdg-open http://localhost:8085\n```\n\n## Testowanie\n\n```bash\n# Uruchom wszystkie testy\n./scripts/test.sh\n\n# Uruchom tylko testy e2e API/proxy\npython3 -m pytest -q git2mcp/tests/test_git2mcp.py\n\n# E2E skrypt pokrywa też push-path (commit -\u003e test -\u003e push do lokalnego bare remote)\n# i waliduje obecność artefaktu .mcp/refactor-plan.json po pushu\n\n# E2E skrypt testuje też 3 repo z /home/tom/github/semcod\n# (docs, code2schema, ats-benchmark) oraz transfer do mcp-skills bez shared volume,\n# wyłącznie przez MCP fragmenty/path updates.\n\n# Sprawdź strukturę\nls -la repos/ output/\n\n# Sprawdź logi\ndocker-compose logs -f mcp-git-proxy mcp-skills\n```\n\n## Rozwój\n\n### Lokalne uruchomienie serwera MCP Skills\n\n```bash\ncd mcp-skills\npip install -r requirements.txt\npython server.py\n```\n\n### Lokalne uruchomienie agenta git2mcp\n\n```bash\ncd llm-agent\npip install -r requirements.txt\nPYTHONPATH=.. python agent_git2mcp.py --repo test/sample-project --source-path ../repos/test/sample-project\n```\n\n## Dokumentacja Projektu\n\n- **[docs/USAGE.md](docs/USAGE.md)** - Pełne scenariusze użycia (9 przepływów end-to-end)\n- **[docs/USE_CASES.md](docs/USE_CASES.md)** - Gotowe use-case i prompty dla refactor/migration/integration\n- **[docs/CHAT_PLAYBOOKS.md](docs/CHAT_PLAYBOOKS.md)** - Szczegółowe dialogi chat jako playbook operacyjny\n- **[docs/PRODUCT.md](docs/PRODUCT.md)** - Architektura produktowa, multi-tenant, bezpieczeństwo\n- **[env2mcp/README.md](env2mcp/README.md)** - Konfiguracja `.env` i integracja GitHub (`gh`/PAT)\n- **[REFACTORING_PLAN.md](REFACTORING_PLAN.md)** - Plan refaktoryzacji i roadmap\n- **[git2mcp/README.md](git2mcp/README.md)** - Dokumentacja pakietu git2mcp\n- **[CHANGELOG.md](CHANGELOG.md)** - Historia zmian\n- **[TODO.md](TODO.md)** - Zadania do zrobienia i product roadmap\n\n## Dokumentacja Zewnętrzna (MCP)\n\n- [Model Context Protocol](https://modelcontextprotocol.io/)\n- [MCP GitHub Server](https://github.com/github/github-mcp-server)\n- [MCP Python SDK](https://github.com/modelcontextprotocol/python-sdk)\n- [OpenWebUI Documentation](https://docs.openwebui.com/)\n\n## Licencja\n\nZobacz plik LICENSE.\n\n## License\n\nLicensed under Apache-2.0.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsemcod%2Fmcp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsemcod%2Fmcp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsemcod%2Fmcp/lists"}