Skip to content
Open
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 16 additions & 0 deletions docs/guides/publishing/github-actions.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,22 @@ jobs:
run: ./mcp-publisher publish
```

Optionally, at the end of your workflow, you can show the latest registration for your server as the GitHub Actions workflow job summary. Replace "<<your server name>>" with the name of the server in the YAML snippet below.

```yaml
- name: Show MCP registration
shell: bash
if: always()
Copy link
Member

Choose a reason for hiding this comment

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

It might be better for this to be success() instead?

Copy link
Author

Choose a reason for hiding this comment

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

The report will always show the last registered version, so a visual check can show if the correct (latest) version actually got registered.

run: |
# Show last registered version
curl -s -X GET "https://registry.modelcontextprotocol.io/v0/servers?search=<<your server name>>" \
Copy link
Member

Choose a reason for hiding this comment

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

I think it's better to use something like curl -s -f "https://registry.modelcontextprotocol.io/v0/servers/${SERVER_NAME}/versions/latest"

-H "accept: application/json" | \
jq '.servers[0] | {name, version, _meta}' > output.json
echo '```json' >> $GITHUB_STEP_SUMMARY
cat output.json >> $GITHUB_STEP_SUMMARY
echo '```' >> $GITHUB_STEP_SUMMARY
Comment on lines 76 to 86
Copy link
Member

Choose a reason for hiding this comment

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

I'm unclear on the purpose of this enhancement. If it is to display the published metadata, why not just cat server.json?

Could you elaborate on your use case?

Copy link
Author

Choose a reason for hiding this comment

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

This confirms that that last submitted version of the MCP server was actually registered in the registry, and gets the metadata for that registration.

Copy link
Member

Choose a reason for hiding this comment

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

But it's just being logged, not actually confirmed, right? A human would have to visually inspect the summary and compare it to the version that's in the server.json file.

More importantly though, if registration fails, I would expect the build to fail before it reaches this point (e.g., fail at the "Publish to MCP Registry" step). Have you observed cases where that wasn't true?

Copy link
Author

@sualeh sualeh Nov 2, 2025

Choose a reason for hiding this comment

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

The build would fail at the point where the registration failed, and the failure would be reported. This is just the status report that shows at the bottom of the GitHub Actions workflow, and acts as an additional information/ debugging step. It is nothing to do with the functionality of registering the server.json per se. We would want the report to show irrespective of whether the registration (and the build) failed or succeeded.

```

### Step 2: Configure Secrets

You don't need any secrets for publishing to the MCP Registry using GitHub OIDC.
Expand Down
Loading