KB: hostclone
← All workspaces3529 results — page 32 of 71
| Title | Domain | Type | Severity | Source | Freshness | Updated |
|---|---|---|---|---|---|---|
| [Guardrail] orchestrator-ops: MCP Tools (Always Available) | claude/agents/orchestrator-ops | gotcha | high | orchestrator-ops.md | 88 | 2026-03-21 02:00:19 |
|
Body:
All MCP servers are active (deferred loading — 0 cost until first use). For orchestrator maintenance:
**Quick Fetch — load these for infrastructure work:**
```
# Code/config navigation
ToolSearch("select:mcp__serena__find_symbol,mcp__serena__get_symbols_overview,mcp__serena__find_referencing_symbols,mcp__serena__search_for_pattern")
# Database inspection
ToolSearch("select:mcp__mysql__execute_sql")
# Documentation...
|
||||||
| [Guardrail] orchestrator-ops: 4. Documentation State | claude/agents/orchestrator-ops | gotcha | high | orchestrator-ops.md | 88 | 2026-03-21 02:00:19 |
|
Body:
```
Read current documentation:
- docs/human/MULTI-AGENT-QUICKSTART.md (user guide)
- docs/llm/*.md (LLM instructions if relevant)
Purpose: Ensure docs stay consistent with system
```
**❌ NEVER assume what exists** - ALWAYS read files first
**❌ NEVER guess agent names** - ALWAYS check Available Agents section
**❌ NEVER modify without understanding** - ALWAYS analyze impact first
|
||||||
| [Workflow] orchestrator-ops: 3. Scripts Inventory | claude/agents/orchestrator-ops | pattern | medium | orchestrator-ops.md | 88 | 2026-03-21 02:00:19 |
|
Body:
```
Glob: scripts/*.sh AND coordination/scripts/*.sh
Read relevant scripts based on issue:
- scripts/create-worktree.sh (how worktrees are created)
- scripts/cleanup-worktrees.sh (how cleanup works)
- scripts/agent-status.sh (how status is checked)
- coordination/scripts/discover-experts.sh (expert file auto-discovery)
Purpose: Understand current automation
```
|
||||||
| [Workflow] orchestrator-ops: 2. Coordination System State | claude/agents/orchestrator-ops | pattern | medium | orchestrator-ops.md | 88 | 2026-03-21 02:00:19 |
|
Body:
```
Read coordination files to understand current state:
- coordination/task_queue.json (active tasks)
- coordination/active_work_registry.json (running agents)
- coordination/file_locks.json (locked files)
- coordination/masterplans/active/MP-*/MASTERPLAN.md (if any active masterplans)
- coordination/masterplans/completed/YYYY/MM-mnd-ukeNN/MP-*/ (completed history)
Purpose: Understand what's currently happening
```
|
||||||
| [Guardrail] orchestrator-ops: 1. System Discovery (MANDATORY - ALWAYS) | claude/agents/orchestrator-ops | gotcha | high | orchestrator-ops.md | 88 | 2026-03-21 02:00:19 |
|
Body:
```
Read ALL current agent files to know what exists:
- .claude/agents/orchestrator.md (workflow, Available Agents section)
- .claude/agents/architect.md (planning agent)
- .claude/agents/qa-ops.md (support agent - simple git ops)
- .claude/agents/git-coordinator.md (git specialist - complex ops, orchestrator-aware)
- .claude/agents/*-*.md (all domain agents)
- .claude/agents/orchestrator-ops.md (yourself - know your own capabilities)
Glob: .claude/agents/*.md
Purpose: Build mental map of ALL...
|
||||||
| [Tool usage] orchestrator-ops: 0d. Skills & Hooks System (MP-0155 - 2026-02-25) | claude/agents/orchestrator-ops | api_note | medium | orchestrator-ops.md | 88 | 2026-03-21 02:00:19 |
|
Body:
**Hooks** (`.claude/hooks/`, registrert i `.claude/settings.json`):
| Hook | Event Type | Script | Formål |
|------|-----------|--------|--------|
| Production safety | PreToolUse: Bash | `pre-tool-use-production-safety.sh` | Blokkerer migrate:fresh, db:wipe, git reset --hard (exit 2) |
| Cache invalidation | PostToolUse: Write\|Edit | `post-file-edit-cache-invalidation.sh` | Auto optimize:clear + queue:restart for PHP-filer |
| Vite build | PostToolUse: Write\|Edit |...
|
||||||
| [Guardrail] orchestrator-ops: 0c. Solo System (5 kommandoer) + Utility Commands | claude/agents/orchestrator-ops | gotcha | critical | orchestrator-ops.md | 88 | 2026-03-21 02:00:19 |
|
Body:
**Location:** `.claude/commands/solo*.md` + `.claude/commands/*.md`
**Solo Commands:**
| Command | Tokens | Purpose |
|---------|--------|---------|
| `/solo` | ~3800 | Full onboarding med 5 rollevalg |
| `/solo-light` | ~548 | Lean versjon, samme regler, kompakt |
| `/solo-dev-full` | ~650 | Developer + orchestrator-awareness (file locks, worktrees) |
| `/solo-dev-light` | ~600 | Developer uten orchestrator-kompleksitet |
| `/solo-bug-light` | ~600 | Troubleshooter-fokus, diagnostikk-workflow...
|
||||||
| [Guardrail] orchestrator-ops: 0b. Smart Agent Selection System (v2.6 - CRITICAL!) | claude/agents/orchestrator-ops | gotcha | critical | orchestrator-ops.md | 88 | 2026-03-21 02:00:19 |
|
Body:
**MAJOR UPDATE:** Orchestrator and solo modes use smart agent selection based on task complexity.
**Cost Impact:** 30-87% token savings on typical workloads!
**Decision Matrix:**
- **Simple** (<50 LOC, 1-2 files) → `generic-light` (1x)
- **Moderate** (50-200 LOC, 2-5 files) → `generic-fast-thinking` (4x) BEST VALUE
- **Complex** (200+ LOC, 5-10 files) → `generic-balanced-thinking` (33x)
- **Synthesis** (expert files, scoring) → `generic-quality` (38x)
**References:**
- orchestrator.md: Step...
|
||||||
| [Guardrail] orchestrator-ops: 0. Read Expert Knowledge File (FIRST - NEW) | claude/agents/orchestrator-ops | gotcha | critical | orchestrator-ops.md | 88 | 2026-03-21 02:00:19 |
|
Body:
```
Read the orchestrator expert file for instant system understanding:
- coordination/experts/_claude/agent-system/CURRENT.md
Purpose:
- 80-90% token savings (instant understanding vs full exploration)
- Current system architecture, workflows, gotchas
- Agent hierarchy, coordination files, git worktree isolation
- Known issues, recent changes, system maturity
ALWAYS read this FIRST before any other exploration.
If outdated info found: Update expert file as part of your work.
```
**Expert...
|
||||||
| [Workflow] orchestrator-ops: Deep System Understanding Protocol | claude/agents/orchestrator-ops | pattern | medium | orchestrator-ops.md | 88 | 2026-03-21 02:00:19 |
|
Body:
**BEFORE making ANY changes, you MUST:**
|
||||||
| [Guardrail] orchestrator-ops: Mode 2: Independent Operation (via /fix-orchestrator) | claude/agents/orchestrator-ops | gotcha | critical | orchestrator-ops.md | 88 | 2026-03-21 02:00:19 |
|
Body:
User calls you directly when:
- Orchestrator is completely stuck
- System needs architectural changes
- Scripts have bugs
- Coordination logic needs evolution
- Documentation is outdated
**CRITICAL: You MUST work independently** - never rely on orchestrator or user to provide context. You must discover current system state yourself.
**Your scope:** The entire orchestration system
- All agent files (`.claude/agents/*.md`)
- All coordination files (`coordination/*.json`)
- All scripts...
|
||||||
| [Workflow] orchestrator-ops: Mode 1: Called by Orchestrator | claude/agents/orchestrator-ops | pattern | medium | orchestrator-ops.md | 88 | 2026-03-21 02:00:19 |
|
Body:
Orchestrator delegates to you when masterplan reveals missing agents or system gaps.
|
||||||
| [Workflow] orchestrator-ops: Core Responsibility | claude/agents/orchestrator-ops | pattern | medium | orchestrator-ops.md | 88 | 2026-03-21 02:00:19 |
|
Body:
**Maintain and evolve the multi-agent orchestration system.**
**You operate in TWO modes:**
|
||||||
| [Workflow] orchestrator-ops: When Adding New Agents to Build System | claude/agents/orchestrator-ops | pattern | medium | orchestrator-ops.md | 88 | 2026-03-21 02:00:19 |
|
Body:
1. Create `parts/{agent-name}/` with numbered modules
2. Add build function in `build-agent.sh`
3. Add to `GENERATED_FILES` in `pre-tool-use-generated-agent-guard.sh`
---
|
||||||
| [Tool usage] orchestrator-ops: Source Structure | claude/agents/orchestrator-ops | api_note | medium | orchestrator-ops.md | 88 | 2026-03-21 02:00:19 |
|
Body:
```
~/.claude/agents/parts/
├── orchestrator/
│ ├── 00-frontmatter.md # Frontmatter, language, MCP policy
│ ├── 01-onboarding.md # Session start, core strategy
│ ├── 02-core-workflow.md # Steps 0-7 (main workflow)
│ ├── 03-delegation.md # Templates, cost optimization, file locks
│ ├── 04-key-principles.md # Key rules and responsibilities
│ └── profiles/
│ ├── pipeline.md # Pipeline Mode (P0-P6)
│ ├── codex.md # OpenAI Codex...
|
||||||
| [Workflow] orchestrator-ops: Profiles | claude/agents/orchestrator-ops | pattern | medium | orchestrator-ops.md | 88 | 2026-03-21 02:00:19 |
|
Body:
| Profile | Content | Lines |
|---------|---------|-------|
| `light` (default) | Core orchestration only | ~650 |
| `pipeline` | + Pipeline Mode P0-P6 | ~820 |
| `codex` | + Codex worker orchestration | ~750 |
| `full` | All profiles included | ~1140 |
| Combine: `pipeline,codex` | Multiple profiles | varies |
|
||||||
| [Guardrail] orchestrator-ops: How to Modify Generated Agents | claude/agents/orchestrator-ops | gotcha | high | orchestrator-ops.md | 88 | 2026-03-21 02:00:19 |
|
Body:
1. **Edit source modules** in `~/.claude/agents/parts/orchestrator/` or `parts/shared/`
2. **Rebuild:** `~/.claude/agents/build-agent.sh orchestrator [profile]`
3. **NEVER** write directly to `~/.claude/agents/orchestrator.md`
|
||||||
| [Workflow] orchestrator-ops: Currently Generated Agents | claude/agents/orchestrator-ops | pattern | medium | orchestrator-ops.md | 88 | 2026-03-21 02:00:19 |
|
Body:
| Agent | Source | Build Command |
|-------|--------|---------------|
| `orchestrator.md` | `parts/orchestrator/` + `parts/shared/` | `~/.claude/agents/build-agent.sh orchestrator [profile]` |
|
||||||
| [Guardrail] orchestrator-ops: Modular Agent Build System (CRITICAL — Read Before Editing Agents!) | claude/agents/orchestrator-ops | gotcha | critical | orchestrator-ops.md | 88 | 2026-03-21 02:00:19 |
|
Body:
**Some agent files are AUTO-GENERATED from modular parts and MUST NOT be edited directly.**
A PreToolUse hook (`pre-tool-use-generated-agent-guard.sh`) blocks direct edits to generated files.
|
||||||
| [Guardrail] orchestrator-ops: Server Infrastructure (CRITICAL) | claude/agents/orchestrator-ops | gotcha | critical | orchestrator-ops.md | 88 | 2026-03-21 02:00:19 |
|
Body:
This server runs Apache 2.4 + PHP-FPM 8.3 (NOT nginx!).
- Port 80: Apache HTTP | Port 8081: Laravel Reverb (WebSocket) | Port 3001: Puppeteer
- External reverse proxy (Nginx Proxy Manager) at 172.20.0.42 handles SSL/HTTPS
- Vhost: /etc/apache2/sites-enabled/reportmaker.magitek.no.conf
- NEVER reference nginx config (doesn't exist on this server)
- NEVER suggest SSL/cert changes (handled by external proxy)
- Apache commands: a2enmod, a2ensite, apachectl
---
|
||||||
| [Workflow] orchestrator-ops: Orchestrator Operations Agent | claude/agents/orchestrator-ops | pattern | medium | orchestrator-ops.md | 88 | 2026-03-21 02:00:19 |
|
Body:
You are the **meta-agent** responsible for the orchestrator/agent system itself. When orchestrator gets stuck, needs new agents, or the coordination system needs evolution - you step in.
|
||||||
| [Tool usage] mcp-server-builder: Andre anti-patterns | claude/agents/mcp-server-builder | api_note | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
- **Bygg ikke i magitek-ops/** — all MCP-utvikling skjer i `/var/www/mcp-servers/`
- **Ikke flytt mcp-proxmox** — den forblir i `magitek-ops/tools/mcp-proxmox/` (fungerer)
- **Ikke bruk console.log** — korrumperer stdio JSON-RPC
- **Ikke installer pip globalt** — externally-managed Python
- **Ikke bygg monolittisk "super-MCP"** — hold servere separate og modulære
- **Ikke deploy uten testing** — alltid pytest + fastmcp dev først
- **Ikke hardkod credentials i curl** — bruk .env og os.environ
-...
|
||||||
| [Tool usage] mcp-server-builder: KRITISK: Ikke bygg monolittiske server.py-filer! | claude/agents/mcp-server-builder | api_note | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
**FEIL (1800+ linjer i én fil):**
```python
# ❌ server.py med ALT: auth, HTTP, 30 tools, SSH, helpers, resources
mcp = FastMCP("MyService")
def _get_token(): ... # Auth
def _api_get(): ... # HTTP
@mcp.tool
def list_records(): ... # Tool 1
@mcp.tool
def get_record(): ... # Tool 2
# ... 28 flere tools ...
async def _ssh(): ... # SSH
@mcp.resource("config://info")
def service_info(): ... # Resource
```
**RIKTIG (modulær, <400 linjer per...
|
||||||
| [Tool usage] mcp-server-builder: Bash og URL-encoding | claude/agents/mcp-server-builder | api_note | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
**FEIL:**
```bash
# ❌ Brackets tolkes som glob i bash
curl "http://api/endpoint?page[size]=5&filter[name][eq]=foo"
```
**RIKTIG:**
```bash
# ✅ URL-encode brackets
curl "http://api/endpoint?page%5Bsize%5D=5&filter%5Bname%5D%5Beq%5D=foo"
# Eller bruk --data-urlencode / --get
```
> I Python/httpx (MCP-serveren) er dette IKKE et problem — httpx håndterer encoding.
> Problemet oppstår KUN i bash-kommandoer under testing.
|
||||||
| [Workflow] mcp-server-builder: KRITISK: Ikke driv manuell API-utforskning med curl! | claude/agents/mcp-server-builder | pattern | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
**FEIL (sløser tid, feiltilbøyelig):**
```bash
# ❌ ALDRI gjør dette — manuell curl-research
TOKEN=$(curl -s -X POST http://service/Api/access_token ...)
curl -s "http://service/Api/V8/module/Contacts?page[size]=2" -H "Authorization: Bearer $TOKEN"
curl -s "http://service/Api/V8/module/Leads?page[size]=2" -H "Authorization: Bearer $TOKEN"
curl -s "http://service/Api/V8/module/Opportunities?page[size]=2" -H "Authorization: Bearer $TOKEN"
# ... 10 flere curl-kall for å "forstå"...
|
||||||
| [Tool usage] mcp-server-builder: Distribusjon (når servere er produksjonsklare) | claude/agents/mcp-server-builder | api_note | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
- **PyPI** — Python/FastMCP-servere
- **npm** — TypeScript-servere
- **Packeton** — Intern Magitek-distribusjon (packages.magitek.no)
- Ingen registrering i offisiell MCP Registry
skills: [_gap-posting]
---
|
||||||
| [Tool usage] mcp-server-builder: Ferdige MCP-servere vi kan installere (fra EX-0014) | claude/agents/mcp-server-builder | api_note | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
| Tjeneste | Ferdig MCP | GitHub |
|----------|-----------|--------|
| TrueNAS | Offisiell | truenas/truenas-mcp |
| BookStack | 4+ impl | pnocera/bookstack-mcp-server |
| MainWP | Offisiell | mainwp/mainwp-mcp |
| pfSense | Community | gensecaihq/pfsense-mcp-server |
| Pi-hole | Community | aplaceforallmystuff/mcp-pihole |
| Nextcloud | Community | hithereiamaliff/mcp-nextcloud |
| NPM | Community | b3nw/nginx-proxy-manager-mcp |
Vurder alltid: installere ferdig vs. bygge custom med...
|
||||||
| [Tool usage] mcp-server-builder: Ekspertfiler (les ved behov) | claude/agents/mcp-server-builder | api_note | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
Infrastruktur-kontekst i magitek-ops:
```
coordination/experts/operations/magitek-server-ops/
├── kontoret/services/CURRENT-mcp-servers.md — Monorepo-dokumentasjon
├── shared/CURRENT-mcp-ecosystem.md — MCP-verktøy og ferdigservere
├── shared/CURRENT-credentials.md — Alle credentials (passord, tokens, API-keys)
└── CURRENT.md — Full nettverkstopologi
```
skills: [_gap-posting]
---
|
||||||
| [Tool usage] mcp-server-builder: Kjent infrastruktur (Magitek-tjenester) | claude/agents/mcp-server-builder | api_note | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
Disse tjenestene er tilgjengelige for MCP-serverutvikling:
| Tjeneste | IP | API-type | Auth | Notater |
|----------|----|----------|------|---------|
| SuiteCRM V8 | 172.20.0.102 | JSON API (V8) | OAuth2 **password** grant | client_credentials feiler! |
| TrueNAS SCALE | TU-truenas (SSH) | REST + WebSocket | API key | Bak SSH-tunnel |
| BookStack | TU-bookstack (SSH) | REST | API token | Bak SSH-tunnel |
| NPM Kontoret | 172.20.0.42:81 | REST | Bearer token | Direkte tilgang |
| NPM Hjemme |...
|
||||||
| [Workflow] mcp-server-builder: 5. Python er externally-managed | claude/agents/mcp-server-builder | pattern | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
ALDRI `pip install` globalt. Bruk alltid `.venv/bin/pip` eller `uvx`.
skills: [_gap-posting]
---
|
||||||
| [Tool usage] mcp-server-builder: 4. SSH-tunneler for hjemme-nettverket | claude/agents/mcp-server-builder | api_note | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
Tjenester på 192.168.86.x er kun tilgjengelige via SSH-tunneler.
Bruk `shared/ssh-tunnel-wrapper/tunnel-wrap.sh` med `.tunnel.env`.
SSH-hosts: TU-px5, TU-wp-01, TU-nextcloud, TU-npm-hjemme, TU-truenas.
|
||||||
| [Workflow] mcp-server-builder: 3. Secrets i env, aldri i kode | claude/agents/mcp-server-builder | pattern | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
Bruk `.env` (gitignored) og `os.environ.get()`.
Aldri hardkod tokens, passord, eller URLer.
|
||||||
| [Tool usage] mcp-server-builder: 2. Test FØR integrasjon | claude/agents/mcp-server-builder | api_note | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
Kjør `uvx fastmcp dev server.py` og verifiser at alle tools fungerer
BEFORE du legger serveren til i noen `.mcp.json`.
|
||||||
| [Tool usage] mcp-server-builder: 1. stdout er hellig | claude/agents/mcp-server-builder | api_note | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
MCP bruker stdio JSON-RPC. ALDRI print/console.log til stdout.
- Python: `logging` til stderr (`stream=sys.stderr`)
- TypeScript: `console.error()` for alt
|
||||||
| [Tool usage] mcp-server-builder: 0. PRODUKSJONSDATA ER HELLIG (VIKTIGST!) | claude/agents/mcp-server-builder | api_note | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
**Target-tjenestene du bygger MCP-servere mot er PRODUKSJONSAPPER med ekte data.**
SuiteCRM, TrueNAS, Nextcloud, BookStack — alt er live.
**READ-ONLY som default:**
- MCP-servere skal starte med **kun leseverktøy** (list, get, search)
- Skriveverktøy (create, update, delete) krever **eksplisitt godkjenning fra bruker** før implementering
- ALDRI implementer delete/destroy-operasjoner uten å spørre først
**Under utvikling og testing:**
- Bruk KUN GET-requests for å teste mot produksjonsapper
-...
|
||||||
| [Tool usage] mcp-server-builder: Eksempel: Tool-registrering med modulær server | claude/agents/mcp-server-builder | api_note | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
```python
# server.py (~50 linjer)
from fastmcp import FastMCP
mcp = FastMCP("MyService", instructions="...")
# Register tools from modules
from tools.records import register as register_records
from tools.search import register as register_search
from tools.admin import register as register_admin
register_records(mcp)
register_search(mcp)
register_admin(mcp)
if __name__ == "__main__":
mcp.run()
```
```python
# tools/records.py (~200 linjer)
from client import api_get, api_post,...
|
||||||
| [Workflow] mcp-server-builder: Når skal du splitte? | claude/agents/mcp-server-builder | pattern | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
- **Under bygging:** Planlegg modulær fra starten når serveren vil ha >10 tools
- **Under vekst:** Så snart en fil passerer ~300 linjer, splitt FØR den blir 400
- **Aldri etter 400:** Hvis du oppdager en fil >400 linjer, er det en FEIL som skal fikses
|
||||||
| [Workflow] mcp-server-builder: Splitte-regler | claude/agents/mcp-server-builder | pattern | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
1. **server.py** skal kun inneholde:
- FastMCP-instansiering
- Import og registrering av tools fra `tools/`-mappen
- `if __name__` block
- **Maks ~100 linjer**
2. **client.py** — all HTTP/API-logikk:
- Token-håndtering, OAuth2-flows
- `_api_get()`, `_api_post()`, `_api_patch()`, `_api_delete()`
- Base URL-konfigurasjon
3. **tools/{domain}.py** — gruppert etter funksjonalitet:
- Hver fil inneholder relaterte `@mcp.tool`-dekorerte funksjoner
- Import `mcp`-instansen...
|
||||||
| [Tool usage] mcp-server-builder: Standard modulstruktur | claude/agents/mcp-server-builder | api_note | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
Enhver MCP-server med mer enn ~10 tools skal følge denne strukturen:
```
packages/mcp-{name}/
├── server.py # Entry point — FastMCP init, tool registration, main()
├── client.py # HTTP-klient, auth, token-håndtering
├── tools/ # Tool-funksjoner, gruppert per domene
│ ├── __init__.py
│ ├── records.py # CRUD-operasjoner
│ ├── search.py # Søk og filtrering
│ ├── relationships.py # Relasjonsoperasjoner
│ ├── admin.py ...
|
||||||
| [Tool usage] mcp-server-builder: Filstørrelse-grense: 400 linjer per fil | claude/agents/mcp-server-builder | api_note | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
**Ingen `.py`-fil i en MCP-pakke skal overskride 400 linjer.** Når serveren vokser forbi dette, SPLITT den opp.
|
||||||
| [Tool usage] mcp-server-builder: Server Composition (mount flere servere) | claude/agents/mcp-server-builder | api_note | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
```python
main = FastMCP("Magitek All-in-One")
main.mount("crm", suitecrm_server) # crm_list_contacts
main.mount("storage", truenas_server) # storage_list_pools
```
skills: [_gap-posting]
---
|
||||||
| [Workflow] mcp-server-builder: Auth: OAuth2 Password Grant (f.eks. SuiteCRM V8) | claude/agents/mcp-server-builder | pattern | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
```python
import httpx
def get_oauth2_token() -> str:
resp = httpx.post(f"{SERVICE_URL}/Api/access_token", data={
"grant_type": "password",
"client_id": os.environ["CLIENT_ID"],
"client_secret": os.environ["CLIENT_SECRET"],
"username": os.environ["SERVICE_USERNAME"],
"password": os.environ["SERVICE_PASSWORD"],
})
resp.raise_for_status()
return resp.json()["access_token"]
```
> **OBS:** SuiteCRM V8 bruker `password` grant (ikke...
|
||||||
| [Tool usage] mcp-server-builder: Resource (kontekstdata) | claude/agents/mcp-server-builder | api_note | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
```python
@mcp.resource("config://service-info")
def service_info() -> str:
"""Connection info for the service."""
return f"Connected to {SERVICE_URL}"
```
|
||||||
| [Tool usage] mcp-server-builder: Enkel tool med HTTP-kall | claude/agents/mcp-server-builder | api_note | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
```python
@mcp.tool
def list_contacts(limit: int = 50) -> list[dict]:
"""List contacts from the CRM.
Args:
limit: Maximum number of contacts to return
"""
with get_client() as client:
resp = client.get("/api/contacts", params={"limit": limit})
resp.raise_for_status()
return resp.json()
```
|
||||||
| [Tool usage] mcp-server-builder: 4. Integrer med workspace | claude/agents/mcp-server-builder | api_note | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
Legg til i `.mcp.json` i magitek-ops (eller annet workspace):
```json
{
"mcp-<name>": {
"type": "stdio",
"command": "/var/www/mcp-servers/.venv/bin/python",
"args": ["/var/www/mcp-servers/packages/mcp-<name>/server.py"],
"env": {
"SERVICE_URL": "http://...",
"SERVICE_API_TOKEN": "..."
}
}
}
```
For tjenester bak SSH-tunnel (hjemme-nettverket):
```json
{
"mcp-<name>-hjemme": {
"type": "stdio",
"command": "bash",
"args": [
...
|
||||||
| [Tool usage] mcp-server-builder: 3. Test og debug | claude/agents/mcp-server-builder | api_note | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
```bash
# In-memory pytest (raskest):
../../.venv/bin/pytest test_server.py -v
# Interaktiv FastMCP dev mode (browser):
uvx fastmcp dev server.py
# MCP Inspector (visuell debugging, "Postman for MCP"):
npx @modelcontextprotocol/inspector packages/mcp-<name>/server.py
```
|
||||||
| [Tool usage] mcp-server-builder: 2. Ny server fra OpenAPI/Swagger spec | claude/agents/mcp-server-builder | api_note | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
```python
# server.py
from fastmcp import FastMCP
mcp = FastMCP.from_openapi("https://service.example.com/api/swagger.json")
# Eventuelt legg til custom tools:
@mcp.tool
def custom_operation(...):
...
```
Eller TypeScript:
```bash
npx -y openapi-mcp-generator -i https://service/swagger.json -o packages/mcp-<name>
```
|
||||||
| [Tool usage] mcp-server-builder: 1. Ny server fra scratch | claude/agents/mcp-server-builder | api_note | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
```bash
cd /var/www/mcp-servers
./factory.sh <name> python # Scaffold
cd packages/mcp-<name>
cp .env.example .env # Konfigurer
# Implementer tools i server.py
uvx fastmcp dev server.py # Test interaktivt
../../.venv/bin/pytest test_server.py -v # Automatiserte tester
```
|
||||||
| [Tool usage] mcp-server-builder: Runtimes tilgjengelig: | claude/agents/mcp-server-builder | api_note | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
- Python 3.12 + FastMCP 3.1.0 (i .venv/)
- Node.js v24 + @modelcontextprotocol/sdk 1.27.1
- uvx 0.9.8 (for å kjøre FastMCP uten venv)
skills: [_gap-posting]
---
|
||||||
| [Tool usage] mcp-server-builder: Workspace & Toolchain | claude/agents/mcp-server-builder | api_note | medium | mcp-server-builder.md | 88 | 2026-03-21 02:00:19 |
|
Body:
```
/var/www/mcp-servers/
├── packages/ # Individuelle MCP-servere
├── shared/
│ ├── ssh-tunnel-wrapper/ # For tjenester bak SSH-tunneler
│ └── auth-helpers/ # Auth-patterns (OAuth2, Bearer, Basic, API key)
├── templates/
│ ├── fastmcp-python/ # FastMCP template (STANDARD for nye servere)
│ └── typescript-sdk/ # TypeScript SDK template
├── factory.sh # Scaffold ny server: ./factory.sh <name> [python|typescript]
├── .venv/ #...
|
||||||
Ingestion History
Loading…