Skip to content

feat: add optional Keenable search MCP preset - #1133

Merged
chiragjn merged 2 commits into
truefoundry:mainfrom
keenableai:feat/keenable-mcp-catalog
Oct 23, 2026
Merged

chiragjn merged 2 commits into
truefoundry:mainfrom
keenableai:feat/keenable-mcp-catalog

Conversation

@ilya-bogin-keenable

@ilya-bogin-keenable ilya-bogin-keenable commented Oct 22, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Adds Keenable to the shipped MCP server catalog (packages/trueforge/catalog/mcp-catalog.yaml) as a keyless remote preset, next to the existing web search presets (exa, parallel-web, tavily, you). It has the same shape as #1011: one catalog entry and a changeset, no source changes. Nothing is called until a user adds the server.

Changes

  • One remote entry named keenable pointing at https://api.keenable.ai/mcp?keenable_title=trueforge, with no auth block. The query parameter only labels the traffic as coming from TrueForge. It is not a credential.
  • The description says the preset is keyless and that a Keenable API key can go in an X-API-Key header for higher rate limits. Keyless limits are 10 req/s and 1,000 req/hour per IP.
  • No logo, because like feat: add optional you.com search integration #1011 the logo needs a file on assets.production.truefoundry.com. I can send our SVG mark if you want to add one.
  • Patch changeset for @truefoundry/trueforge.

What reaches Keenable once a user adds the server: the tool arguments (a search query or a page URL) and the keenable_title=trueforge label. The API key is sent only if the user adds one.

How was this tested?

  • pnpm build, pnpm typecheck, pnpm lint:ci (0 errors) and pnpm format:check pass.
  • pnpm --filter @truefoundry/trueforge test: 76 suites, 685 tests pass, including GET /catalogs/mcp-servers returns the shipped catalog verbatim, which loads the catalog through McpCatalogFileSchema. The other packages pass too: core 517, trueforge-ui 1793, frontend 249 + 18.
  • Live keyless calls to the preset URL over Streamable HTTP, without headers:
    • initialize returns 200 (keenable-mcp-server 0.2.1).
    • tools/list returns search_web_pages and fetch_page_content.
    • search_web_pages returned 10 results in 0.38 s.
    • fetch_page_content returned 5.2k characters of markdown in 0.29 s.

Checklist

  • I have read the contributing guidelines
  • pnpm build, pnpm test, pnpm typecheck, pnpm lint:ci, and pnpm format:check pass locally
  • Tests added/updated where it makes sense (catalog-only change; the existing catalog test covers it)
  • No hand-edits to generated code (packages/trueforge-sdk, python/trueforge_sdk, .github/fern/openapi/openapi.json, docs/openapi.json)
  • Docs / .env.example updated if configuration or behavior changed (no configuration or behavior change)

Disclosure: I work at Keenable, which runs this MCP server.


Note

Low Risk
Catalog-only additive entry with no runtime or auth logic changes; existing schema and catalog API tests cover the YAML shape.

Overview
Adds a keyless Keenable remote MCP preset to the shipped catalog (mcp-catalog.yaml), alongside existing web-search options like You.com and Tavily.

The new entry points at https://api.keenable.ai/mcp?keenable_title=trueforge with no auth block; the description notes optional X-API-Key for higher rate limits. A patch changeset bumps @truefoundry/trueforge. This is discovery-only—nothing runs until a user adds the server from the catalog API/UI.

Reviewed by Cursor Bugbot for commit c7470dd. Bugbot is set up for automated code reviews on this repo. Configure here.

@changeset-bot

changeset-bot Bot commented Oct 22, 2026 •

Copy link
Copy Markdown

🦋 Changeset detected

Latest commit: c7470dd

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 1 package
Name Type
@truefoundry/trueforge Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@chiragjn

Copy link
Copy Markdown
Member

Hey @ilya-bogin-keenable thanks for adding this. yes we would like a SVG of the logo, we can quickly add it to our assets and merge this :)

@ilya-bogin-keenable

Copy link
Copy Markdown
Contributor Author

Thanks @chiragjn! Here is the Keenable mark as SVG: https://api.keenable.ai/favicon.svg (138x138, transparent, works on light and dark backgrounds). If you upload it as keenable.svg, the entry can take logo: https://assets.production.truefoundry.com/keenable.svg, and I am happy to add that line to this PR if you prefer.

@chiragjn

Copy link
Copy Markdown
Member

@ilya-bogin-keenable done, you can update the PR, will merge post that :)

ilya-bogin-keenable and others added 2 commits October 23, 2026 19:13
Add Keenable to the shipped MCP server catalog as a discovery preset:

- Keyless remote endpoint (https://api.keenable.ai/mcp) exposing
  search_web_pages and fetch_page_content; keenable_title only labels the
  traffic as coming from TrueForge and is not a credential
- Description notes the optional X-API-Key header for higher rate limits

Opt-in: the catalog is discovery-only and nothing is called until a user
adds the server.
Add logo URL for the 'keenable' service in mcp-catalog.yaml
@chiragjn
chiragjn force-pushed the feat/keenable-mcp-catalog branch from 3628cd7 to c7470dd Compare October 23, 2026 13:43
@chiragjn
chiragjn merged commit d11b369 into truefoundry:main Oct 23, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants