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
Fork the repository
Fork the AgentAccess repo on GitHub and clone it locally.
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.
Use a unique slug
The slug must be lowercase, hyphen-separated, and unique. It becomes the URL: /your-slug.
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
slugURL-safe identifier. Lowercase, hyphens only. Must be unique.
nameDisplay name of the system.
descriptionOne-sentence description. Max ~120 characters.
long_descriptionFull explanation — who runs it, what data it holds, how it works.
categoryapi | cli | mcp | browser | data_export | unofficial | mixed
sectorgovernment | finance | transport | ecommerce | health | education | media | utility | other
access_typedirect | indirect | simulated | restricted
auth_requirementpublic | login | mitid | api_key | restricted
agent_capabilityArray of: read | write | submit | order | authenticate | search
reliabilitystable | fragile | unknown
officialTrue if this is an officially sanctioned integration.
use_casesConcrete examples of what an agent could do. Be specific.
notesLegal, compliance, rate-limit, or stability notes. Critical for restricted or fragile entries.
docs_urlLink to API or developer documentation. Optional.
addedISO 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.tsA plain TypeScript array. No database, no CMS, no external dependency. If you can edit a TypeScript file, you can contribute.
Browse the Directory