Skip to content

🐣 Good first issue: contribute a new MCP adapter #150

@keysersoft

Description

@keysersoft

πŸ‘‹ New here? Adding a pre-built MCP adapter is the most beginner-friendly way to contribute β€” it's typically a single JSON file and takes ~30 minutes once you've picked a target.

Pick a target

Browse the community wishlist and grab whichever SaaS has the most πŸ‘. Comment on this issue saying which one you'll work on so we don't duplicate effort.

Step-by-step

  1. Fork the repo and create a branch (adapter/<saas-slug>).
  2. Pick an existing adapter close to yours as template:
    • For a REST API: see packages/backend/src/adapters/de/dhl.json or vies-vat.json
    • For a GraphQL service: see shopware-6.json
    • For a SOAP/WSDL service: see handelsregister.json
  3. Copy it, rename it your-saas.json, and update:
    • name, description, baseUrl
    • auth block (OAuth2, API Key, Basic, etc.)
    • tools[] β€” one entry per API endpoint you want to expose
  4. Register it in packages/backend/src/catalog.ts.
  5. The parametrised catalog.spec.ts test will validate it on npm test. If your adapter has unusual params, add a focused test in packages/backend/src/adapters/__tests__/.
  6. Open a PR. Tag @keysersoft for review.

What we look for in a good adapter

  • βœ… Real, useful tools (not just "list everything")
  • βœ… Clear description strings β€” the AI uses them to decide when to call the tool
  • βœ… Path/query/body parameters mapped explicitly (don't rely on auto-detection alone)
  • βœ… Auth correctly scoped (least privilege wins)
  • βœ… At least one example value per tool

Resources

We're happy to pair on the first PR β€” don't be shy πŸ™Œ

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions