Skip to content

Adds linux-mcp-server to the goose registry#6979

Merged
blackgirlbytes merged 3 commits intoblock:mainfrom
elianerpereira:linux-mcp-server
Mar 7, 2026
Merged

Adds linux-mcp-server to the goose registry#6979
blackgirlbytes merged 3 commits intoblock:mainfrom
elianerpereira:linux-mcp-server

Conversation

@elianerpereira
Copy link
Copy Markdown
Contributor

Summary

This PR adds the linux-mcp-server to the goose registry.

Type of Change

  • Feature
  • Bug fix
  • Refactor / Code quality
  • Performance improvement
  • [ X] Documentation
  • Tests
  • Security fix
  • Build / Release
  • Other (specify below)

AI Assistance

  • This PR was created or reviewed with AI assistance

Testing

Related Issues

Relates to #ISSUE_ID
Discussion: LINK (if any)

Screenshots/Demos (for UX changes)

Before:

After:

@elianerpereira elianerpereira requested a review from a team as a code owner February 5, 2026 13:54
Signed-off-by: Eliane Pereira <[email protected]>
Signed-off-by: Rodolfo Olivieri <[email protected]>
{
"name": "LINUX_MCP_USER",
"description": "Default username for SSH connections",
"required": false,
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.

Please remove all the trailing commas after these "required": false lines, otherwise they'll break the Extensions page.

But I'd suggest keeping only the 2-3 most commonly used env vars in this file (like LINUX_MCP_USER, LINUX_MCP_SSH_KEY_PATH, and LINUX_MCP_VERIFY_HOST_KEYS) and removing the rest. Instead, you can link directly to https://rhel-lightspeed.github.io/linux-mcp-server/clients/#environment-variables from the linux-mcp.md tutorial for the full and always up-to-date list.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Thanks for the feedback. I will remove the comma after "required": false lines.

@r0x0d please, do you agree to keep only the 2-3 most commonly used env vars in this file and add a link directly to https://rhel-lightspeed.github.io/linux-mcp-server/clients/#environment-variables from the linux-mcp.md tutorial for the full and always up-to-date list?
Thank you.

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.

Hi! Yeah, I think it makes sense. We can go with LINUX_MCP_USER, LINUX_MCP_SSH_KEY_PATH and LINUX_MCP_VERIFY_HOST_KEYS as suggested.

@@ -0,0 +1,88 @@
---
title: Linux MCP server Extension
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.

Nit - Please upper cap "Server" or even remove it "Linux MCP Extension"

import GooseDesktopInstaller from '@site/src/components/GooseDesktopInstaller';
import GooseBuiltinInstaller from '@site/src/components/GooseBuiltinInstaller';

<YouTubeShortEmbed videoUrl="https://www.youtube.com/embed/VIDEO_ID" />
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.

Please remove this unless you have a video link to add

:::tip TLDR
<Tabs groupId="interface">
<TabItem value="ui" label="goose Desktop" default>
[Install Linux MCP server](https://rhel-lightspeed.github.io/linux-mcp-server/install/)
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.

Should be something like this (I copied the autogenerated link in the Desktop tab):
Launch the installer

Comment on lines +36 to +40

- *Python 3.10* or later.
- *goose* installed and configured.
- *Sudo privileges (for certain diagnostic tools used by the server)*.

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.

Note that you'll need uv installed on your system to run this command, as it uses uvx. Some diagnostic tools may require sudo privileges on the target Linux system.

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.

goose suggested this instead to align with our template for uvx extensions and said that uv handles Python dependencies automatically, so no need to mention Python 3.10.

"description": "Tools to allow LLM clients to interact with Linux systems remotely",
"command": "uvx linux-mcp-server",
"link": "https://github.com/rhel-lightspeed/linux-mcp-server",
"installation_notes": "Install using uvx package manager. Note: This is a read-only mcp server to discovering and interacting with remote/local systems.",
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.

Nit - "for discovering"?

@dianed-square
Copy link
Copy Markdown
Contributor

Thanks for contributing @elianerpereira ! This looks like a good one.

One more change request:
The auto-generated docs link from the extension card is based on your server id. Currently the link returns a 404, so to get it to work, the easiest option is ONE of the following:

  • Change your id from linux-mcp-server to linux-mcp in servers.json (and for consistency, also the Desktop/CLI components and goose:// URL in the TLDR box in the tutorial)
  • Change your tutorial file name from docs/mcp/linux-mcp.mddocs/mcp/linux-mcp-server-mcp.md

If you want, try out the Add MCP Server recipe that should be able help with this and other changes.


- *Python 3.10* or later.
- *goose* installed and configured.
- *Sudo privileges (for certain diagnostic tools used by the server)*.
Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Currently the tools don't use sudo so you can remove this line.

- Upper cap "Server"
- Removes link to YouTube
- Updates TLDR section
- Updates prerequisite section
- Changes tutorial name: docs/mcp/linux-mcp.md → docs/mcp/linux-mcp-server-mcp.md

Signed-off-by: Eliane Pereira <[email protected]>
- Removes all the trailing commas after these "required": false lines
- Keeps only the most commonly used env vars in the file, such as LINUX_MCP_USER, LINUX_MCP_SSH_KEY_PATH, and LINUX_MCP_VERIFY_HOST_KEYS, and adds link #environment-variables for the full and always up-to-date list.

Signed-off-by: Eliane Pereira <[email protected]>
@blackgirlbytes blackgirlbytes added this pull request to the merge queue Mar 7, 2026
Merged via the queue into block:main with commit ffa2f15 Mar 7, 2026
21 checks passed
@r0x0d r0x0d deleted the linux-mcp-server branch March 7, 2026 19:11
jh-block added a commit that referenced this pull request Mar 9, 2026
…deps

* origin/main: (34 commits)
  fix: reduce server log verbosity — skip session in instrument, defaul… (#7729)
  fix: provider test infrastructure (#7738)
  fix: sanitize streamable HTTP extension names derived from URLs (#7740)
  refactor: derive GooseMode string conversions with strum (#7706)
  docs: Add Spraay Batch Payments MCP Extension Tutorial (#7525)
  fix: flake.nix (#7224)
  delete goose web (#7696)
  Add @angiejones as CODEOWNER for documentation (#7711)
  Add MLflow integration guide (#7563)
  docs: LM Studio availability (#7698)
  feat: add Avian as an LLM provider (#7561)
  Adds `linux-mcp-server` to the goose registry (#6979)
  fix: add #[serde(default)] to description field on 4 ExtensionConfig variants (#7708)
  feat: combine TUI UX from alexhancock/tui-goodness with publishing config from jackamadeo/package-tui (#7683)
  chore: cleanup old sandbox (#7700)
  Correct windows artifact (#7699)
  gh fall back (#7695)
  fix: restore smart-approve mode (#7690)
  fix: make TLS configurable in goosed agent via GOOSE_TLS env var (#7686)
  Update to rmcp 1.1.0 (#7619)
  ...

# Conflicts:
#	Cargo.lock
wpfleger96 added a commit that referenced this pull request Mar 9, 2026
* origin/main: (21 commits)
  fix(ui-desktop): unify path resolution around GOOSE_PATH_ROOT (#7335)
  fix: pass OAuth scopes to DCR and extract granted_scopes from token response (#7571)
  fix: write to real file if config.yaml is symlink (#7669)
  fix: preserve pairings when stopping gateway (#7733)
  fix: reduce server log verbosity — skip session in instrument, defaul… (#7729)
  fix: provider test infrastructure (#7738)
  fix: sanitize streamable HTTP extension names derived from URLs (#7740)
  refactor: derive GooseMode string conversions with strum (#7706)
  docs: Add Spraay Batch Payments MCP Extension Tutorial (#7525)
  fix: flake.nix (#7224)
  delete goose web (#7696)
  Add @angiejones as CODEOWNER for documentation (#7711)
  Add MLflow integration guide (#7563)
  docs: LM Studio availability (#7698)
  feat: add Avian as an LLM provider (#7561)
  Adds `linux-mcp-server` to the goose registry (#6979)
  fix: add #[serde(default)] to description field on 4 ExtensionConfig variants (#7708)
  feat: combine TUI UX from alexhancock/tui-goodness with publishing config from jackamadeo/package-tui (#7683)
  chore: cleanup old sandbox (#7700)
  Correct windows artifact (#7699)
  ...
wpfleger96 added a commit that referenced this pull request Mar 9, 2026
* origin/main: (21 commits)
  fix(ui-desktop): unify path resolution around GOOSE_PATH_ROOT (#7335)
  fix: pass OAuth scopes to DCR and extract granted_scopes from token response (#7571)
  fix: write to real file if config.yaml is symlink (#7669)
  fix: preserve pairings when stopping gateway (#7733)
  fix: reduce server log verbosity — skip session in instrument, defaul… (#7729)
  fix: provider test infrastructure (#7738)
  fix: sanitize streamable HTTP extension names derived from URLs (#7740)
  refactor: derive GooseMode string conversions with strum (#7706)
  docs: Add Spraay Batch Payments MCP Extension Tutorial (#7525)
  fix: flake.nix (#7224)
  delete goose web (#7696)
  Add @angiejones as CODEOWNER for documentation (#7711)
  Add MLflow integration guide (#7563)
  docs: LM Studio availability (#7698)
  feat: add Avian as an LLM provider (#7561)
  Adds `linux-mcp-server` to the goose registry (#6979)
  fix: add #[serde(default)] to description field on 4 ExtensionConfig variants (#7708)
  feat: combine TUI UX from alexhancock/tui-goodness with publishing config from jackamadeo/package-tui (#7683)
  chore: cleanup old sandbox (#7700)
  Correct windows artifact (#7699)
  ...
wpfleger96 added a commit that referenced this pull request Mar 9, 2026
…e-issue

* origin/main:
  fix(ui-desktop): unify path resolution around GOOSE_PATH_ROOT (#7335)
  fix: pass OAuth scopes to DCR and extract granted_scopes from token response (#7571)
  fix: write to real file if config.yaml is symlink (#7669)
  fix: preserve pairings when stopping gateway (#7733)
  fix: reduce server log verbosity — skip session in instrument, defaul… (#7729)
  fix: provider test infrastructure (#7738)
  fix: sanitize streamable HTTP extension names derived from URLs (#7740)
  refactor: derive GooseMode string conversions with strum (#7706)
  docs: Add Spraay Batch Payments MCP Extension Tutorial (#7525)
  fix: flake.nix (#7224)
  delete goose web (#7696)
  Add @angiejones as CODEOWNER for documentation (#7711)
  Add MLflow integration guide (#7563)
  docs: LM Studio availability (#7698)
  feat: add Avian as an LLM provider (#7561)
  Adds `linux-mcp-server` to the goose registry (#6979)
  fix: add #[serde(default)] to description field on 4 ExtensionConfig variants (#7708)
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.

6 participants