feat(ultraplan-local): v1.6.0 — /ultraresearch-local deep research command

Add /ultraresearch-local for structured research combining local codebase
analysis with external knowledge via parallel agent swarms. Produces research
briefs with triangulation, confidence ratings, and source quality assessment.

New command: /ultraresearch-local with modes --quick, --local, --external, --fg.
New agents: research-orchestrator (opus), docs-researcher, community-researcher,
security-researcher, contrarian-researcher, gemini-bridge (all sonnet).
New template: research-brief-template.md.

Integration: --research flag in /ultraplan-local accepts pre-built research
briefs (up to 3), enriches the interview and exploration phases. Planning
orchestrator cross-references brief findings during synthesis.

Design principle: Context Engineering — right information to right agent at
right time. Research briefs are structured artifacts in the pipeline:
ultraresearch → brief → ultraplan --research → plan → ultraexecute.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-04-08 08:58:35 +02:00
commit baa2d0220b
488 changed files with 213221 additions and 0 deletions

View file

@ -0,0 +1,544 @@
# Microsoft Graph API for Copilot Extensions
**Last updated:** 2026-02
**Status:** GA
**Category:** Copilot Extensibility & Integration
---
## Introduksjon
Microsoft Graph API for Copilot Extensions gir mekanismer for å utvide Microsoft 365 Copilot med ekstern data og funksjonalitet gjennom tre hovedveier: **Copilot Connectors** (tidligere Microsoft Graph Connectors), **API Plugins**, og **Graph Actions med Semantic Kernel**. Disse teknologiene lar organisasjoner integrere line-of-business-data, eksterne APIer og Microsoft 365-funksjonalitet i Copilot-opplevelser.
**Copilot Connectors** importerer ekstern innhold inn i Microsoft Graph for å berike Copilots kunnskapsbase. **API Plugins** kobler REST-APIer til declarative agents for å utføre handlinger. **Graph Actions** lar custom engine agents (bygget med Semantic Kernel) bruke Microsoft Graph API-funksjoner som å sende e-post, opprette kalenderhendelser og hente filer gjennom naturlig språk.
**Confidence:** Verified (microsoft-learn MCP, januar 2026)
---
## Kjernekomponenter
### 1. Copilot Connectors (Microsoft Graph Connectors)
**Formål:** Indeksere ekstern data inn i Microsoft Graph for å gjøre den søkbar og tilgjengelig for Copilot, Microsoft Search, Context IQ og andre M365-opplevelser.
| Komponent | Beskrivelse | API Resource |
|-----------|-------------|--------------|
| **External Connection** | Logisk container for ekstern data | `externalConnection` |
| **Schema** | Definerer struktur og metadata for innholdet | `schema` |
| **External Item** | Individuelt dataobjekt indeksert i Microsoft Graph | `externalItem` |
| **External Group** | Ikke-Entra ID grupper for tilgangskontroll (ACL) | `externalGroup` |
| **Activity Settings** | Konfigurasjon for brukeraktiviteter og URL-resolving | `activitySettings` |
| **Semantic Labels** | Metadata for å hjelpe Copilot tolke schemameningen | `iconUrl`, `title`, `url`, etc. |
**Fire steg for å bygge custom Copilot Connector:**
1. **Opprett Entra ID app registration** med nødvendige Graph API-permissions
2. **Opprett external connection** med unik ID, navn og beskrivelse
3. **Registrer schema** (long-running operation, async provisioning)
4. **Ingest external items** med innhold og ACL
**Confidence:** Verified (microsoft-learn docs_fetch)
### 2. API Plugins
**Formål:** Koble REST APIer til declarative agents for å utføre handlinger på vegne av brukeren.
**Støttes kun som actions innenfor declarative agents** (ikke standalone i M365 Copilot).
| Komponent | Beskrivelse |
|-----------|-------------|
| **OpenAPI Specification** | Beskriver REST API-endepunkter, parametere og autentisering |
| **Plugin Manifest** | API plugin manifest (schema v2.4) som definerer plugin capabilities |
| **Authentication** | Token/API key fra token store (støtter OAuth2, API keys) |
| **Confirmation Prompts** | Brukerbekreftelse før data sendes til plugin (konfigurerbart) |
**Dataflyt:**
1. Bruker stiller spørsmål → Agent identifiserer relevant plugin
2. Agent mapper spørsmål til funksjon og parametere
3. Agent ber om brukerbekreftelse
4. Plugin henter token fra token store (hvis nødvendig)
5. API-kall sendes til eksternt endepunkt
6. Agent genererer respons basert på API-svar
**Confidence:** Verified (microsoft-learn docs_search)
### 3. Graph Actions med Semantic Kernel
**Formål:** La custom engine agents bruke Microsoft Graph API-funksjoner gjennom naturlig språk.
**Prebuilt plugins:**
- **ContactsPlugin** Administrer kontakter
- **MessagesPlugin** Interager med e-post
- **CalendarPlugin** Opprett og list møter
- **DriveItemsPlugin** Søk, les og last opp filer
- **M365 Copilot Plugin (Retrieval API)** Søk i M365-innhold via semantic index
**Hvordan det fungerer:**
1. Semantic Kernel analyserer brukerintensjon
2. Matcher til riktig plugin (f.eks. CalendarPlugin)
3. Genererer Microsoft Graph API-kall
4. Kjører request med delegated auth
5. Returnerer resultat som naturlig språk-respons
**Verktøy:** Kiota CLI for å generere plugins fra OpenAPI spec.
**Confidence:** Verified (microsoft-learn docs_search)
---
## Arkitekturmønstre
### Mønster 1: Knowledge Augmentation (Copilot Connectors)
**Bruksområde:** Berike Copilots kunnskapsbase med line-of-business data (ERP, CRM, wiki, dokumenter).
```
[External Data Source]
↓ (API/SDK)
[Custom Connector Code]
↓ (Graph Connectors API)
[Microsoft Graph - External Items]
↓ (Semantic Index)
[M365 Copilot + Search + Context IQ]
```
**Best practices:**
- Bruk **semantic labels** (`title`, `content`, `iconUrl`, `url`) for å forbedre Copilot-relevans
- Inkluder **urlToItemResolver** for å oppdage delte URLer (booster viktighet)
- Legg til **user activities** (view, modify, comment) for relevansscoring
- Rik **description** i connection-konfigurasjon
- Ingest content som **tekst** i `content`-property (ikke bare metadata)
**Confidence:** Verified (microsoft-learn docs_fetch)
### Mønster 2: Action Execution (API Plugins)
**Bruksområde:** Utføre handlinger i eksterne systemer fra declarative agents (f.eks. "Opprett Jira ticket", "Sjekk budsjett i ERP").
```
[User Prompt]
[Declarative Agent]
↓ (Confirmation)
[API Plugin] → [Token Store] → [External REST API]
[Agent Response]
```
**Best practices:**
- Følg [OpenAPI guidance for Copilot](https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/openapi-document-guidance)
- Bruk **confirmation prompts** fornuftig (default: read-only = "Always allow", write = no "Always allow")
- Implementer robust **error handling** i API
- Begrens antall operasjoner per plugin (fokuser på kjernefunksjonalitet)
**Confidence:** Verified (microsoft-learn docs_search)
### Mønster 3: M365 Data Integration (Graph Actions)
**Bruksområde:** Custom agents som trenger tilgang til M365-data (e-post, kalender, filer, kontakter).
```
[User Prompt]
[Semantic Kernel Agent]
↓ (Plugin Selection)
[Graph Action Plugin] → [Microsoft Graph API]
↓ (Delegated Auth)
[M365 Data: Mail/Calendar/Files/Contacts]
```
**Eksempel:**
- "Sjekk e-post fra min leder, oppsummer, og sett opp møte" → bruker MessagesPlugin + CalendarPlugin + ContactsPlugin
**Best practices:**
- Bruk **prebuilt plugins** der tilgjengelig (vedlikeholdes av Microsoft)
- Implementer **delegated permissions** (ikke application permissions for brukerdata)
- Kombiner flere plugins for komplekse workflows
**Confidence:** Verified (microsoft-learn docs_search)
### Mønster 4: Hybrid (Connector + Plugin)
**Bruksområde:** Søkbar data + handlinger i samme ekstern tjeneste.
**Eksempel:** Salesforce-integrasjon
- **Connector:** Indekser Salesforce-objekter (Accounts, Opportunities) for søk
- **Plugin:** Opprett nye leads, oppdater kontakter
**Fordel:** Brukere kan både finne ("Vis alle accounts i Norge") og handle ("Opprett ny contact for Acme Corp").
**Confidence:** Baseline (arkitekturprinsipp basert på Microsoft-docs patterns)
---
## Beslutningsveiledning
### Når bruke Copilot Connectors?
| Scenario | Anbefaling | Hvorfor |
|----------|------------|---------|
| Store mengder lesbar data (dokumenter, wiki, CRM-objekter) | ✅ Copilot Connector | Semantic indexing, søk, oppsummering |
| Data må være søkbart i Search + Copilot | ✅ Copilot Connector | Deler samme index |
| Trenger filtere basert på brukerrettigheter (ACL) | ✅ Copilot Connector | External groups støtter ikke-Entra ID ACL |
| Kun lese-operasjoner | ✅ Copilot Connector | Optimalisert for retrieval |
| Data endres sjelden (statisk innhold) | ✅ Copilot Connector | Ingest kan være batch/scheduled |
**Confidence:** Verified (microsoft-learn docs_fetch + docs_search)
### Når bruke API Plugins?
| Scenario | Anbefaling | Hvorfor |
|----------|------------|---------|
| Utføre handlinger (create, update, delete) | ✅ API Plugin | Designet for actions |
| Real-time data fra REST API (ikke indeksering) | ✅ API Plugin | On-demand API calls |
| Behov for brukerbekreftelse før handling | ✅ API Plugin | Innebygd confirmation flow |
| Integration med declarative agent | ✅ API Plugin | Kun støttet som agent actions |
| Liten, fokusert funksjonalitet (f.eks. "Hent budsjett") | ✅ API Plugin | Lightweight, ikke persistence |
**Merk:** API Plugins er **ikke** standalone i M365 Copilot (kun som actions i declarative agents).
**Confidence:** Verified (microsoft-learn docs_search)
### Når bruke Graph Actions?
| Scenario | Anbefaling | Hvorfor |
|----------|------------|---------|
| Custom engine agent trenger M365-data | ✅ Graph Actions | Prebuilt plugins for Graph API |
| Sende e-post, opprette møter, hente filer | ✅ Graph Actions | ContactsPlugin, MessagesPlugin, CalendarPlugin, DriveItemsPlugin |
| Semantic Kernel-basert agent | ✅ Graph Actions | Native integration |
| Multi-step workflows med M365-data | ✅ Graph Actions | Kombiner flere plugins |
| Delegated permissions (brukerkontekst) | ✅ Graph Actions | Kjører som signed-in user |
**Confidence:** Verified (microsoft-learn docs_search)
### Beslutningstre
```
Trenger du å berike Copilot med ekstern data?
├─ Ja, for søk og oppsummering → Copilot Connector
└─ Nei, trenger å utføre handlinger
├─ Handlinger i M365 (e-post, kalender, filer) → Graph Actions
└─ Handlinger i eksterne systemer → API Plugin
└─ Merk: Krever declarative agent
```
**Confidence:** Baseline (syntetisert fra verified sources)
---
## Integrasjon med Microsoft-stakken
### 1. Microsoft 365 Copilot
**Copilot Connectors:**
- Innhold dukker opp i Copilot-svar med **in-text citations** (hover for preview)
- **Reference links** nederst i responsen
- Krever **inline results** aktivert i Admin Center (Agents and connectors → Copilot)
**API Plugins:**
- Kun tilgjengelig som **actions i declarative agents** (ikke i business chat)
**Graph Actions:**
- Kun for **custom engine agents** (ikke M365 Copilot business chat)
**Confidence:** Verified (microsoft-learn docs_fetch)
### 2. Microsoft Search
**Copilot Connectors:**
- Samme index som Copilot → eksterne items er søkbare
- Støtter **verticals** (filtrering etter connector)
**Confidence:** Verified (microsoft-learn docs_fetch)
### 3. Context IQ & microsoft365.com
**Copilot Connectors:**
- Connector content tilgjengelig i Context IQ (recommendations)
- Vises på microsoft365.com (unified experience)
**Confidence:** Verified (microsoft-learn docs_search)
### 4. Teams
**Message Extensions:**
- Kan fungere som plugins for M365 Copilot
- Søk/handlinger i eksterne tjenester via Adaptive Cards
- Utvides med **Bot Framework** eller **Teams AI library**
**Confidence:** Verified (microsoft-learn docs_search)
### 5. Copilot Studio
**Low-code alternativ:**
- Power Platform Connectors (prebuilt + custom)
- Integrerer med både Microsoft data og ISV-data
- Kan bruke **Graph API** for M365-data
**Confidence:** Verified (microsoft-learn docs_search)
### 6. Azure AI Foundry & Semantic Kernel
**Graph Actions:**
- Semantic Kernel er **påkrevd** for Graph Actions
- Kiota CLI genererer plugins fra OpenAPI spec
- Støtter **C#, Python, TypeScript** SDKs
**SDK-pakker:**
- .NET: `Microsoft.Agent.M365Copilot` (v1.0), `Microsoft.Agent.M365Copilot.Beta`
- Python: `microsoft-agents-m365copilot`, `microsoft-agents-m365copilot-beta`
- TypeScript: `@microsoft/agents-m365copilot`, `@microsoft/agents-m365copilot-beta`
**Confidence:** Verified (microsoft-learn docs_search)
---
## Offentlig sektor (Norge)
### Compliance & Data Residency
| Aspekt | Copilot Connectors | API Plugins | Graph Actions |
|--------|-------------------|-------------|---------------|
| **Data location** | External items i Microsoft Graph (tenant region) | API-data forblir i eksternt system | M365-data i tenant region |
| **GCC/GCCH support** | ✅ Ja (ikke DoD) | ✅ Ja (via declarative agents) | ✅ Ja (via M365 Copilot) |
| **Data processing** | Microsoft Graph (EU Data Boundary for EU tenants) | Eksternt API (utenfor Microsoft) | Microsoft Graph |
| **Audit logging** | Microsoft 365 audit logs | API-side logging (eksternt) | M365 audit logs |
**Offentlig sektor Norge:**
- **Copilot Connectors** og **Graph Actions** innenfor Microsoft 365 boundary (OK for Skytjenesteavtalen/DPA)
- **API Plugins** krever databehandleravtale med API-leverandør hvis persondata sendes
**Confidence:** Baseline (ekstrapolert fra M365 compliance docs)
### Tilgangskontroll
**Copilot Connectors:**
- Støtter **External Groups** for ikke-Entra ID ACL (f.eks. Salesforce permission sets, ServiceNow local groups)
- **Active Directory sync** påkrevd for security trimming (SharePoint Server connector)
- Brukere ser kun content de har tilgang til
**API Plugins:**
- Brukerbekreftelse (**confirmation prompts**) før data sendes
- Autentisering via **token store** (OAuth2, API keys)
**Graph Actions:**
- **Delegated permissions** (kjører som signed-in user)
- Respekterer Entra ID roller og policies
**Confidence:** Verified (microsoft-learn docs_fetch + docs_search)
### Schrems II & Datatilsynet
**Vurderinger:**
- **Copilot Connectors:** Data i Microsoft Graph → samme risikovurdering som Microsoft 365
- **API Plugins:** Tredjepartsdata → egen risikovurdering per API-leverandør
- **Graph Actions:** M365-data → innenfor Microsoft 365 DPA
**Anbefaling:** Gjennomfør DPIA for Copilot Connectors med sensitive persondata (samme prosess som for Microsoft Search).
**Confidence:** Baseline (juridisk ekstrapolering)
---
## Kostnad og lisensiering
### Copilot Connectors
| Kostnadselement | Detaljer |
|-----------------|----------|
| **Item quota** | Items konsumerer quota (se [licensing requirements](https://learn.microsoft.com/en-us/microsoftsearch/licensing)) |
| **Graph API calls** | Standard Graph API pricing (ingest/update/delete operations) |
| **Connector SDK** | Gratis (open source) |
| **Prebuilt connectors** | Over 100 tilgjengelig fra Microsoft og partnere (noen krever partnerlisens) |
| **Custom connector hosting** | Egen infrastruktur (Azure Functions, VM, on-prem) |
**Lisenskrav:**
- **Microsoft 365 E5** eller **Office 365 E5** for full Copilot connector support
- **Microsoft Search** inkludert i E3/E5
**Confidence:** Verified (microsoft-learn docs_fetch)
### API Plugins
| Kostnadselement | Detaljer |
|-----------------|----------|
| **API calls** | Eksternt API pricing (varierer per leverandør) |
| **Token store** | Inkludert i M365 Copilot (ingen ekstra kostnad) |
| **Declarative agent** | Krever M365 Copilot lisens (ca. $30/user/month) |
| **Development** | Microsoft 365 Agents Toolkit (gratis i VS Code) |
**Confidence:** Baseline (basert på M365 Copilot lisensmodell)
### Graph Actions (Semantic Kernel)
| Kostnadselement | Detaljer |
|-----------------|----------|
| **Graph API calls** | Inkludert i M365-lisens (delegated permissions) |
| **Semantic Kernel SDK** | Gratis (open source) |
| **LLM costs** | Avhenger av valgt modell (Azure OpenAI, OpenAI, etc.) |
| **Hosting** | Custom engine agent hosting (Azure App Service, Container Apps, etc.) |
**Confidence:** Baseline (Semantic Kernel OSS + Azure OpenAI pricing)
### TCO-sammenligning (norsk offentlig sektor)
**Scenario:** Indeksere 50 000 dokumenter fra fagsystem + tillate opprettelse av saker
| Løsning | Setup-kostnad | Årlig drift | Lisenskrav |
|---------|--------------|-------------|------------|
| **Connector + Plugin** | Middels (utvikling) | Lav (Graph quota + API calls) | M365 E5 + Copilot |
| **Kun Plugin** | Lav (API mapping) | Lav (API calls) | M365 E5 + Copilot |
| **Kun Connector** | Middels (utvikling) | Lav (Graph quota) | M365 E5 (Search OK, Copilot anbefalt) |
| **Graph Actions** | Høy (custom agent) | Middels-høy (hosting + LLM) | M365 E5 + Azure OpenAI |
**Anbefaling for norsk offentlig sektor:**
- **Start med Copilot Connectors** for read-only data (lavest kompleksitet)
- **Legg til API Plugins** for handlinger når declarative agents er GA
- **Vurder Graph Actions** kun for avanserte custom agents med M365-integrasjon
**Confidence:** Baseline (syntetisert kostnadsvurdering)
---
## For arkitekten (Cosmo)
### Anbefalinger
1. **Start med Copilot Connectors for kunnskapsbase**
- Lavest barrier to entry
- Gjenbrukbar i Search, Context IQ, Copilot
- Bruk **prebuilt connectors** der tilgjengelig (100+ fra Microsoft/partnere)
- Custom connector kun når prebuilt ikke finnes
2. **API Plugins krever declarative agents**
- **Viktig:** API Plugins fungerer IKKE standalone i M365 Copilot business chat
- Må pakkes som actions i declarative agent
- Vurder om message extension (Teams) er bedre match for read/write scenarios
3. **Graph Actions for avanserte custom agents**
- Bruk **prebuilt plugins** (ContactsPlugin, MessagesPlugin, CalendarPlugin, DriveItemsPlugin, M365 Copilot Plugin)
- Kombinér flere plugins for multi-step workflows
- Vurder Copilot Studio som low-code alternativ før custom Semantic Kernel agent
4. **Semantic indexing er key for Copilot Connectors**
- Title + Content properties er semantisk indeksert
- Semantic labels påvirker **ikke** indexing (kun filtering)
- Rik tekstuelt innhold i `content` property
- Bruk semantic labels (`title`, `url`, `iconUrl`) for Copilot UI
5. **Sikkerhet og compliance først**
- External groups for ikke-Entra ID ACL
- Confirmation prompts for API Plugins
- Delegated permissions for Graph Actions
- DPIA for Copilot Connectors med persondata
6. **Optimaliser for relevans**
- `urlToItemResolver` + user activities → høyere scoring
- Rich descriptions i connections
- Meaningful titles på external items
- Flere activities (view, modify, comment) = høyere viktighet
### Røde flagg
| Situasjon | Problem | Løsning |
|-----------|---------|---------|
| "Vi vil bruke API Plugin standalone i Copilot" | ❌ Ikke støttet | Bruk declarative agent eller message extension |
| "Vi indekserer binærfiler uten tekst-extraction" | ❌ Dårlig Copilot-relevans | Extract text før ingest i `content` property |
| "Vi hopper over semantic labels" | ❌ Dårlig UI i Copilot | Bruk minst `title`, `url`, `iconUrl` |
| "Vi bruker application permissions for Graph Actions" | ❌ Sikkerhetsrisiko | Bruk delegated permissions (user context) |
| "Vi bygger custom connector for SharePoint" | ❌ Unødvendig | Bruk prebuilt SharePoint connector |
| "Vi forventer real-time ingest til Copilot Connector" | ❌ Feil forventning | Schema provisioning er async, ingest tar tid |
**Confidence:** Baseline (arkitektråd basert på verified docs)
### Spørsmål å stille kunden
1. **Omfang:**
- Hvor mange eksterne datakilder skal integreres?
- Estimert antall items/dokumenter?
- Hvor ofte oppdateres dataene?
2. **Funksjonalitet:**
- Kun lesing (search/summarize) eller også handlinger (create/update)?
- Må brukere kunne trigge actions fra Copilot?
- Trenger dere M365-data (e-post, kalender) i samme workflow?
3. **Sikkerhet:**
- Bruker dere Entra ID for alle brukere?
- Finnes ikke-Entra ID grupper i eksterne systemer (f.eks. Salesforce roles)?
- Persondata i eksterne systemer?
4. **Teknisk kapasitet:**
- Har dere utviklere med Graph API-erfaring?
- Kan dere hoste custom connector (Azure/on-prem)?
- Foretrekker dere low-code (Copilot Studio) eller pro-code?
5. **Lisensiering:**
- Har brukerne M365 Copilot lisens?
- E3 eller E5?
- Budget for item quota (Copilot Connectors)?
**Confidence:** Baseline (discovery-spørsmål)
---
## Kilder og verifisering
### Microsoft Learn (MCP-verified, januar 2026)
1. **Microsoft 365 Copilot connectors overview**
https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/overview-copilot-connector
*Verified via microsoft_docs_fetch*
2. **Work with the Copilot connectors API**
https://learn.microsoft.com/en-us/graph/connecting-external-content-connectors-api-overview
*Verified via microsoft_docs_fetch*
3. **Invoke Microsoft Graph actions with Semantic Kernel**
https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/graph-actions-semantic-kernel
*Verified via microsoft_docs_search*
4. **Build API plugins from an existing API for Microsoft 365 Copilot**
https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/build-api-plugins-existing-api
*Verified via microsoft_docs_search*
5. **Extend Microsoft 365 Copilot**
https://learn.microsoft.com/en-us/microsoftteams/platform/archive/how-to-extend-copilot
*Verified via microsoft_docs_search*
6. **Microsoft 365 Copilot extensibility overview**
https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/
*Verified via microsoft_docs_search*
7. **Copilot connector experiences**
https://learn.microsoft.com/en-us/graph/connecting-external-content-experiences
*Verified via microsoft_docs_search*
8. **Use the Copilot connectors API**
https://learn.microsoft.com/en-us/graph/api/resources/connectors-api-overview?view=graph-rest-1.0
*Verified via microsoft_docs_search*
9. **Adopt, extend and build Copilot experiences across the Microsoft Cloud**
https://learn.microsoft.com/en-us/microsoft-cloud/dev/copilot/overview
*Verified via microsoft_docs_search*
10. **Microsoft 365 Copilot extensibility samples**
https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/samples
*Verified via microsoft_docs_search*
### Code Samples (MCP-verified)
11. **Microsoft 365 Copilot APIs client libraries**
https://learn.microsoft.com/en-us/microsoft-365-copilot/extensibility/sdks/api-libraries
*C#, Python, TypeScript SDK samples*
### Baseline Knowledge (Model knowledge, jan 2025)
- Schrems II vurderinger for norsk offentlig sektor
- TCO-kostnadsmodeller
- Compliance-anbefalinger for Datatilsynet
- Arkitekturbeslutningstrær
**Total kilder:** 11 MCP-verified URLs, 4+ code samples
**MCP calls:** 7 (3x docs_search, 2x docs_fetch, 1x code_sample_search, 1x ToolSearch)