Skip to content

Send title, description, website and icons in the initialize result - #541

Open
JuampiHernandez wants to merge 1 commit into
mainfrom
feat/mcp-server-info
Open

JuampiHernandez wants to merge 1 commit into
mainfrom
feat/mcp-server-info

Conversation

@JuampiHernandez

@JuampiHernandez JuampiHernandez commented Oct 15, 2026 •

Copy link
Copy Markdown

This is one of three small PRs split out of #540 (server info, idempotentHint, input descriptions), plus a release PR that merges last.

MCP clients and directories read the server's title, description, website and icon from the initialize result. Ours sends only name and version, because fastmcp builds that result from those two fields alone.

Changes

  • patches/fastmcp@4.3.2.patch: the existing patch now also accepts title, description, websiteUrl and icons server options and sends them in initialize. title, websiteUrl and icons use upstream fastmcp's option names, so those hunks drop out when we upgrade. description is not upstream. pnpm-lock.yaml only gets the new patch hash.
  • src/server.ts: sets the four fields next to name (still firecrawl-fastmcp, origin attribution keys on it) and adds an unstable description hook, with the default text, so an embedder can replace it.
  • src/service/index.ts: the search-only surface sets its own description, because the default one mentions crawl, map and parse, which that surface does not have (Cubic's comment on Add server info, idempotent hints and input descriptions #540).
  • README.md: description row in the hooks table.
  • tests/server-info.test.mjs and regenerated contract snapshots.

How I tested it

  • pnpm install --frozen-lockfile, pnpm run build, pnpm test: 169/169 (168 on main plus the new test).
  • Real MCP client (official SDK) over stdio and streamable HTTP, and with CLOUD_SERVICE=true: connects and reads the new fields without schema errors. Tool lists and results are unchanged apart from the server info.
  • Icon and website URLs return 200 with the right content types.

Heads up

Independent of the other PRs. It does not bump the version; the release PR does.

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 14 files

Auto-approved with 1 open P3 issue: Adds Firecrawl title, description, website and icons to the MCP initialize serverInfo via a fastmcp patch and a new description hook, with tests, README, and contract snapshots. Change is additive, backward-compatible, and pinned by tests.
Tip: Get a Slack DM when cubic finishes reviewing your PRs. Connect Slack

View guided diff | Turn on auto-fix | Re-trigger cubic

Comment thread tests/server-info.test.mjs

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Auto-approved with 1 open P3 issue.

cubic-dev-ai[bot]
cubic-dev-ai Bot previously approved these changes Oct 15, 2026

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0 issues found across 1 file (changes from recent commits).

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Auto-approved: Adds Firecrawl title, description, website, and icons to the MCP initialize serverInfo via a fastmcp patch, with a configurable description hook and contract snapshots/tests pinning the new fields. Bounded additive metadata only; tools, auth, and other behavior are unchanged.

View guided diff | Turn on auto-fix | Re-trigger cubic

Comment thread src/server.ts
builtInTool(name: string): ToolDefinition | undefined;
};

const DEFAULT_SERVER_DESCRIPTION =

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to mention about Alexandria here

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added. The default description now ends with "...extract structured data and run Alexandria, the catalogue of structured data providers", and the search-only surface mentions Alexandria too.

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 10 files (changes from recent commits).

Reply with feedback, questions, or to request a fix.

View guided diff | Turn on auto-fix | Re-trigger cubic

Comment thread src/server.ts Outdated
Comment thread src/server.ts Outdated
@cubic-dev-ai
cubic-dev-ai Bot dismissed their stale review October 16, 2026 11:56

Dismissed because Cubic found issues in a newer review.

fastmcp builds the initialize result with only name and version, so the
bundled patch now also accepts title, description, websiteUrl and icons
server options (title, websiteUrl and icons use the upstream option
names). The server sets them next to the unchanged name, and a new
description hook lets a surface replace the default text; the search-only
surface uses it so it does not advertise tools it does not have.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0 issues found across 10 files (changes from recent commits).

Confidence score: 5/5

  • Automated review surfaced no issues in the provided summaries.
  • No files require special attention.

Auto-approved: Adds optional title, description, website, and icons to the MCP initialize serverInfo via a fastmcp patch, with a configurable description hook and contract snapshots/tests pinning the new fields. Bounded additive metadata only; tools, auth, and other behavior are unchanged.

View guided diff | Turn on auto-fix | Re-trigger cubic

This branch has not been deployed

No deployments
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