Skip to content

feat: Goose integration + dedicated install command#3040

Merged
jlowin merged 5 commits intomainfrom
feat/goose-install
Jan 31, 2026
Merged

feat: Goose integration + dedicated install command#3040
jlowin merged 5 commits intomainfrom
feat/goose-install

Conversation

@jlowin
Copy link
Copy Markdown
Member

@jlowin jlowin commented Jan 30, 2026

Adds Goose as an install target using its deeplink protocol. Running fastmcp install goose server.py generates a goose://extension?... URL and opens it, prompting Goose to install the server.

Goose requires uvx rather than uv run, so the command builds a uvx invocation instead of going through UVEnvironment.build_command():

fastmcp install goose server.py --with pandas --python 3.11
# opens: goose://extension?cmd=uvx&arg=--python&arg=3.11&arg=--with&arg=pandas&arg=fastmcp&arg=run&arg=server.py&id=server&name=server&description=...

The platform-specific URL opener (open/xdg-open/startfile) is extracted from cursor.py into shared.py so both Cursor and Goose deeplinks share it.

Also adds links to each AI assistant's website in the integration docs opening paragraphs (Claude Code, Claude Desktop, ChatGPT, Cursor, Gemini CLI, Goose).

Goose install via deeplink protocol (goose://extension?...).
Uses uvx instead of uv run per Goose's requirements.
Extracts shared open_deeplink to shared.py for reuse.
@marvin-context-protocol marvin-context-protocol Bot added enhancement Improvement to existing functionality. For issues and smaller PR improvements. cli Related to FastMCP CLI commands (run, dev, install) or CLI functionality. labels Jan 30, 2026
Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: a135e18901

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread src/fastmcp/cli/install/goose.py
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai Bot commented Jan 30, 2026

Walkthrough

Adds Goose integration to docs and CLI: new docs/integrations/goose.mdx and docs.json/navigation entries, updates patterns and Python SDK install lists. Implements Goose install commands in src/fastmcp/cli/install/goose.py (deeplink generation, uvx command assembly, install_goose and goose_command) and registers the goose subcommand. Adds shared.open_deeplink in src/fastmcp/cli/install/shared.py and refactors cursor.open_deeplink to call it. Converts several integration docs to use hyperlink formatting.

🚥 Pre-merge checks | ✅ 2 | ❌ 1
❌ Failed checks (1 warning)
Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description lacks the required Contributors Checklist and Review Checklist items from the template; only narrative description is provided without checkbox confirmations. Complete the description by adding both the Contributors Checklist and Review Checklist sections with appropriate checkboxes marked as completed.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title 'feat: add fastmcp install goose command' accurately and concisely summarizes the main feature addition in the changeset.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/goose-install

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 5

🧹 Nitpick comments (2)
docs/patterns/cli.mdx (2)

300-305: Use active voice and second person in the Goose entry.
Consider rephrasing to match the doc style guidelines.

✍️ Suggested wording
-- **Goose** - Installs via deeplink that opens Goose for user confirmation (uses `uvx`)
+- **Goose** - You install via a deeplink that opens Goose for confirmation (uses `uvx`)

As per coding guidelines, use active voice over passive voice and write instructions in second person in MDX documentation.


387-389: Add expected outcome + fallback guidance for the Goose install example.
A short expected result and a likely failure path (deeplink not opening) will make this example more actionable.

📝 Suggested add-on
 # Install in Goose (uses uvx deeplink)
 fastmcp install goose server.py --with pandas
+
+# Expected: Goose opens the install dialog.
+# If it doesn’t, copy the deeplink from the CLI output and open it manually,
+# or use `fastmcp install mcp-json` for a manual config.

As per coding guidelines, include expected outputs and troubleshooting for likely failure points in MDX documentation.

Comment thread docs/integrations/claude-desktop.mdx Outdated
Comment thread docs/integrations/goose.mdx Outdated
Comment thread docs/integrations/goose.mdx Outdated
Comment thread docs/integrations/goose.mdx
Comment thread src/fastmcp/cli/install/goose.py
- warn when --env/--env-file passed to goose install
- fix Claude Desktop link to download page
- minor doc improvements
@jlowin jlowin merged commit 1bbbee3 into main Jan 31, 2026
13 checks passed
@jlowin jlowin deleted the feat/goose-install branch January 31, 2026 15:53
@jlowin jlowin changed the title feat: add fastmcp install goose command feat: Goose integration + dedicated install command Jan 31, 2026
gfortaine pushed a commit to gfortaine/fastmcp that referenced this pull request Feb 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

cli Related to FastMCP CLI commands (run, dev, install) or CLI functionality. enhancement Improvement to existing functionality. For issues and smaller PR improvements. integration

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant