Aula
Danish school communication platform for parents and teachers — MitID/UNI-login gated, browser automation only.
LangChain tool wrappers and structured tools for querying Danish enterprise registers, transport schedules, and government services.
Verified APIs, MCP servers, and data feeds ready for LangChain integration.
# Integration Notice: Aula
# Category: BROWSER | Access Type: simulated | Auth: mitid
# Direct REST query endpoint not cataloged. Requires custom integration or portal credentials.
# Documentation: https://www.aula.dk
class AulaDescriptor:
name = "Aula"
status = "requires_portal_or_custom_client"
docs_url = "https://www.aula.dk"
access_type = "simulated"
auth_requirement = "mitid"# Integration Notice: Bilbasen & Bilinfo API
# Category: API | Access Type: restricted | Auth: restricted
# Direct REST query endpoint not cataloged. Requires custom integration or portal credentials.
# Documentation: https://developer.bilinfo.net
class BilbasenBilinfoAPIDescriptor:
name = "Bilbasen & Bilinfo API"
status = "requires_portal_or_custom_client"
docs_url = "https://developer.bilinfo.net"
access_type = "restricted"
auth_requirement = "restricted"# Integration Notice: Bilka / Salling Group
# Category: BROWSER | Access Type: simulated | Auth: public
# Direct REST query endpoint not cataloged. Requires custom integration or portal credentials.
# Documentation: https://www.salling.dk
class BilkaSallingGroupDescriptor:
name = "Bilka / Salling Group"
status = "requires_portal_or_custom_client"
docs_url = "https://www.salling.dk"
access_type = "simulated"
auth_requirement = "public"# Integration Notice: Boliga.dk
# Category: API | Access Type: indirect | Auth: public
# Direct REST query endpoint not cataloged. Requires custom integration or portal credentials.
# Documentation: https://www.boliga.dk
class BoligadkDescriptor:
name = "Boliga.dk"
status = "requires_portal_or_custom_client"
docs_url = "https://www.boliga.dk"
access_type = "indirect"
auth_requirement = "public"# Integration Notice: Boligsiden
# Category: BROWSER | Access Type: simulated | Auth: public
# Direct REST query endpoint not cataloged. Requires custom integration or portal credentials.
# Documentation: https://www.boligsiden.dk
class BoligsidenDescriptor:
name = "Boligsiden"
status = "requires_portal_or_custom_client"
docs_url = "https://www.boligsiden.dk"
access_type = "simulated"
auth_requirement = "public"# Integration Notice: CVR Data Parser & Replicator
# Category: CLI | Access Type: direct | Auth: api_key
# Direct REST query endpoint not cataloged. Requires custom integration or portal credentials.
# Documentation: https://github.com/gronlund/cvrdata#readme
class CVRDataParserReplicatorDescriptor:
name = "CVR Data Parser & Replicator"
status = "requires_portal_or_custom_client"
docs_url = "https://github.com/gronlund/cvrdata#readme"
access_type = "direct"
auth_requirement = "api_key"from langchain_core.tools import tool
import httpx
@tool
async def search_cvr-api(query: str) -> str:
"""Central Business Register API giving machine access to all Danish companies, CVR numbers, ownership, and industry codes."""
url = "https://cvrapi.dk/api"
async with httpx.AsyncClient() as client:
res = await client.get(url, params={"search": query})
res.raise_for_status()
return res.text# Integration Notice: Corti API
# Category: API | Access Type: direct | Auth: restricted
# Direct REST query endpoint not cataloged. Requires custom integration or portal credentials.
# Documentation: https://docs.corti.ai
class CortiAPIDescriptor:
name = "Corti API"
status = "requires_portal_or_custom_client"
docs_url = "https://docs.corti.ai"
access_type = "direct"
auth_requirement = "restricted"# Integration Notice: DAWA MCP Server (ITK)
# Category: MCP | Access Type: direct | Auth: public
# Direct REST query endpoint not cataloged. Requires custom integration or portal credentials.
# Documentation: https://github.com/itk-dev/mcp-dawa#readme
class DAWAMCPServerITKDescriptor:
name = "DAWA MCP Server (ITK)"
status = "requires_portal_or_custom_client"
docs_url = "https://github.com/itk-dev/mcp-dawa#readme"
access_type = "direct"
auth_requirement = "public"# Integration Notice: DAWA Replication Client
# Category: CLI | Access Type: direct | Auth: public
# Direct REST query endpoint not cataloged. Requires custom integration or portal credentials.
# Documentation: https://dataforsyningen.dk/data/dawa
class DAWAReplicationClientDescriptor:
name = "DAWA Replication Client"
status = "requires_portal_or_custom_client"
docs_url = "https://dataforsyningen.dk/data/dawa"
access_type = "direct"
auth_requirement = "public"from langchain_core.tools import tool
import httpx
@tool
async def search_dawa(query: str) -> str:
"""REST API for Danish addresses, postcodes, cadastre, and administrative geodata."""
url = "https://api.dataforsyningen.dk/adresser"
async with httpx.AsyncClient() as client:
res = await client.get(url, params={"q": query})
res.raise_for_status()
return res.text# Integration Notice: DMI NWP Download CLI
# Category: CLI | Access Type: direct | Auth: api_key
# Direct REST query endpoint not cataloged. Requires custom integration or portal credentials.
# Documentation: https://opendatadocs.dmi.govcloud.dk/
class DMINWPDownloadCLIDescriptor:
name = "DMI NWP Download CLI"
status = "requires_portal_or_custom_client"
docs_url = "https://opendatadocs.dmi.govcloud.dk/"
access_type = "direct"
auth_requirement = "api_key"Need to generate custom MCP servers, scrape portals, or run headless automations with LangChain?
Instant MCP & CLI generator from OpenAPI, Swagger & APIs
PrintingPress converts OpenAPI and Swagger specifications into fully-typed Model Context Protocol (MCP) servers and CLI tools in seconds.
High-level Python & TypeScript framework for building MCP servers
FastMCP provides clean decorators and microframework patterns to write production-ready MCP tools in under 10 lines of code.
Turn entire websites and portals into clean, LLM-ready Markdown
Firecrawl crawls, handles JavaScript rendering, bypasses anti-bot barriers, and outputs clean Markdown structured for AI agent ingestion.
Import the provided @tool decorator function into your Python environment and pass it to initialize_agent() or LangGraph node definitions.
Yes! AgentAccess provides specialized data loaders and parsing tools for high-volume Danish data feeds like CVR daily dumps or CVR.dev streams.