Open Source

Contribute to AgentAccess

All data lives in a single TypeScript file in the repository. Adding an entry is a one-file pull request.

Three ways to contribute

Pull Request

Edit lib/tools-data.ts directly and open a PR. Fastest path to getting an entry merged.

GitHub Issue

Don't want to write code? Open an issue with the system name and what you know about it.

Discussions

Not sure if something belongs? Start a discussion to figure out the right approach.

How to add an entry

1

Fork the repository

Fork the AgentAccess repo on GitHub and clone it locally.

2

Edit lib/tools-data.ts

Add your entry to the tools array. Copy an existing entry as a template. Fill in all fields — especially use_cases and notes.

3

Use a unique slug

The slug must be lowercase, hyphen-separated, and unique. It becomes the URL: /your-slug.

4

Open a pull request

Push your branch and open a PR. Include a brief description of what the system is and why it belongs in the directory.

Entry template

Copy this into lib/tools-data.ts and fill it in:

{
  slug: 'my-system',
  name: 'My System',
  description: 'One-sentence description.',
  long_description: 'Full description of the system.',
  website_url: 'https://example.dk',
  docs_url: 'https://docs.example.dk',
  category: 'api',
  sector: 'government',
  access_type: 'direct',
  auth_requirement: 'api_key',
  agent_capability: ['read', 'search'],
  reliability: 'stable',
  official: true,
  featured: false,
  status: 'active',
  use_cases: [
    'Fetch data for automated pipeline',
    'Enrich records with official data',
  ],
  notes: 'Rate limits apply. Registration required.',
  added: '2026-04-25',
}

Field reference

slug
string

URL-safe identifier. Lowercase, hyphens only. Must be unique.

name
string

Display name of the system.

description
string

One-sentence description. Max ~120 characters.

long_description
string

Full explanation — who runs it, what data it holds, how it works.

category
enum

api | cli | mcp | browser | data_export | unofficial | mixed

sector
enum

government | finance | transport | ecommerce | health | education | media | utility | other

access_type
enum

direct | indirect | simulated | restricted

auth_requirement
enum

public | login | mitid | api_key | restricted

agent_capability
string[]

Array of: read | write | submit | order | authenticate | search

reliability
enum

stable | fragile | unknown

official
boolean

True if this is an officially sanctioned integration.

use_cases
string[]

Concrete examples of what an agent could do. Be specific.

notes
string

Legal, compliance, rate-limit, or stability notes. Critical for restricted or fragile entries.

docs_url
string?

Link to API or developer documentation. Optional.

added
string

ISO date you added the entry: YYYY-MM-DD.

What makes a good entry

Specific use cases

Name what an agent would actually do, not just "access data".

Honest reliability

Mark browser automation as fragile if it is. Do not oversell stability.

Clear notes

Document rate limits, ToS restrictions, and legal constraints upfront.

Access over existence

Describe how a machine accesses it, not just that the system exists.

The data file

All entries live in one place:

lib/tools-data.ts

A plain TypeScript array. No database, no CMS, no external dependency. If you can edit a TypeScript file, you can contribute.

Browse the Directory