mcp-jarvis1net
v2.0.0
Published
MCP server: filesystem, shell diagnostics, Microsoft Graph (stdio, no API key — use env + optional per-call graph token).
Downloads
121
Maintainers
Readme
mcp-jarvis1net
Serwer Model Context Protocol (transport stdio, Node.js / TypeScript): narzędzia plików (fs_*), ograniczony shell diagnostyczny oraz Microsoft Graph (token przekazywany przez hosta — brak bazy danych i klucza API serwera w tym projekcie).
Rola w stosie
- Pełny stack z agentem jarvis1net + Docker: katalog nadrzędny jarvis-stack — zob. tam README. W obrazie MCP buduje się do
/opt/mcp-jarvis1net. - Tylko ten serwer + własny agent / własny host MCP (Claude Desktop, Cursor, inny klient stdio): sekcja poniżej.
Własny agent: podpięcie tego serwera (stdio)
Transport to tylko stdio (jeden proces node — host uruchamia go i przekazuje stdin/stdout). Nie trzeba używać jarvis1net; dowolna aplikacja, która mówi protokołem MCP, może odpalać dist/index.js i ustawić poniższe env.
1) Klon + build (najpewniejsze)
git clone https://github.com/marionet1/mcp-jarvis1net.git
cd mcp-jarvis1net
npm install
npm run buildW konfiguracji MCP (np. Cursor) ustaw pełną ścieżkę do dist/index.js:
{
"mcpServers": {
"jarvis1net-tools": {
"command": "node",
"args": ["/ABS/path/to/mcp-jarvis1net/dist/index.js"],
"env": {
"MCP_ALLOWED_ROOTS": "C:\\Users\\You\\projekt",
"MCP_GRAPH_ACCESS_TOKEN": ""
}
}
}
}(Ścieżki i forma pliku zależą od programu — ważne: command + args do zbudowanego index.js.)
2) npx z npm (po publikacji paczki)
Gdy właściciel repozytorium wykona npm publish (nazwa paczki: mcp-jarvis1net), możliwe będzie m.in.:
"command": "npx",
"args": ["-y", "mcp-jarvis1net"]Z tymi samymi env co wyżej. Do opublikowania w npm trzeba mieć konto i npm login. Dopóki paczki nie ma w rejestrze, użyj opcji 1) lub 3).
3) Zależność w swoim repo (package.json)
npm install "git+https://github.com/marionet1/mcp-jarvis1net.git"
cd node_modules/mcp-jarvis1net && npm run buildW konfiguracji MCP wskazuj node + ścieżkę do node_modules/mcp-jarvis1net/dist/index.js w tym projekcie.
Microsoft Graph z obcego agenta
- Domyślnie (env):
MCP_GRAPH_ACCESS_TOKEN— opcjonalny token w env procesu. - Przy każdym wywołaniu narzędzi
microsoft_*host może wstrzyknąć argumentgraph_access_token(priorytet względem env) — zob. tool-manifest.ts.
Sam serwer nie trzyma client secret Azure; token musi pochodzić z logowania użytkownika w Twoim agencie / z az / innego źródła OAuth.
Wymagania
- Node.js 22 (minimum 20)
Build
npm install
npm run build
node dist/index.jsDocker (tylko serwer MCP)
W tym katalogu są Dockerfile i docker-compose.yml do testów z montowanym katalogiem (./data → /workspace). Stdio wymaga docker compose run --rm -i …. Pełny agent + MCP w jednym kontenerze buduje się z katalogu nadrzędnego JUMP, nie stąd.
Konfiguracja (skrót)
| Zmienna | Znaczenie |
|--------|------------|
| MCP_ALLOWED_ROOTS | Katalogi dozwolone dla fs_* (przecinki); pusty = domyślny ~/jump |
| MCP_GRAPH_ACCESS_TOKEN | Opcjonalny token Graph; agent zwykle wstrzykuje graph_access_token per wywołanie |
| MCP_MAX_READ_BYTES / MCP_MAX_WRITE_BYTES | Limity plików |
| MCP_SHELL_TIMEOUT_SEC | 1–30 s na komendy shell |
Szablon: .env.example. Integracja z referencyjnym agentem Python: jarvis1net (nie jest wymagany do użycia tylko tego serwera).
Bezpieczeństwo
- Proces ma dostęp do plików w
MCP_ALLOWED_ROOTSi do ograniczonego shell — nie wystawiaj go publicznie bez kontroli. - Token Graph jest wrażliwy; używaj tylko z zaufanych hostów (np. Twój VPS, lokalna maszyna).
Publikacja na npm (dla właściciela paczki)
Nie da się tego zrobić „zdalnie” bez zalogowania na Twoje konto npmjs.com (hasło / 2FA / e-mail weryfikacyjny). Na swojej maszynie z Node.js 20+ i npm:
cd mcp-jarvis1net
npm install
npm run build # albo pominiesz: przed publikacją odpali się prepublishOnly
npm whoami # opcjonalnie: czy jesteś zalogowany
npm login # jednorazowo: login, hasło, e-mail, ewent. 2FA
npm publish --access public- Nazwa
mcp-jarvis1netmusi być wolna w rejestrze; jeśli błąd 403 / you do not have permission, ktoś inny zarezerwował ją wcześniej — wtedy zmieńnamewpackage.json(np. scope@twoj-nick/mcp-jarvis1net) i opublikuj z--access publicdla scope. - Kolejne wersje: po zmianach w kodzie ustaw nowy numer w
package.json(np.npm version patch) albo ręcznie podbijversion, potem znowunpm publish. - Sprawdzenie na sucho:
npm pack— zobaczysz, co trafi do paczki (główniedist/z builda).
Po udanej publikacji inni mogą: npx -y mcp-jarvis1net (z sekcji wyżej).
Historia
Poprzedni punkt odniesienia w gicie (stary stack HTTP + Postgres): tag baseline/http-mcp-2026-04-24 w tym repozytorium.
Licencja
MIT — plik LICENSE; zgodnie z package.json.
