This guide covers publishing the Rosetta MCP server to both npm (for Claude Desktop) and the Anthropic MCP Registry.
- All MCP tools tested and working (
test_mcp_local.pypasses) - Security validation implemented (base64, filename, path traversal, prompt injection)
- Error handling comprehensive
- Performance optimized (direct file path handling)
- Code is clean and well-documented
- README.md includes MCP section
- MCP_USAGE.md provides setup instructions
- MCP_TESTING.md provides testing guide
- Tool descriptions are clear and helpful
- Local test script passes (
test_mcp_local.py) - Claude Desktop integration tested
- File path handling works
- Translation output works correctly
Claude Desktop can install MCP servers directly from npm packages. Publishing to npm makes it easy for users to install and use Rosetta.
- npm account: Create at npmjs.com/signup
- npm CLI installed:
npm --version(comes with Node.js) - Login to npm:
npm login
✅ package.json - npm package configuration
✅ bin/rosetta-mcp.sh - Launcher script
✅ README.md - Documentation
-
Test the package locally:
# From the rosetta directory npm pack # This creates a .tgz file you can inspect tar -tzf ewalid-rosetta-mcp-0.1.0.tgz
-
Verify package contents: The package should include:
bin/rosetta-mcp.sh(executable launcher)src/rosetta/(Python source code)pyproject.toml(Python dependencies)README.md(documentation)LICENSE(MIT license)
-
Publish to npm:
npm publish --access public
-
Verify publication: Visit:
https://www.npmjs.com/package/@ewalid/rosetta-mcp
Once published, users can install via npx:
npx @ewalid/rosetta-mcpOr add to Claude Desktop config:
{
"mcpServers": {
"rosetta": {
"command": "npx",
"args": ["-y", "@ewalid/rosetta-mcp"],
"env": {
"ANTHROPIC_API_KEY": "sk-ant-your-key-here"
}
}
}
}The official Anthropic MCP Registry makes your server discoverable to Claude users and provides better visibility.
-
Fork the repository: github.com/modelcontextprotocol/servers
-
Add your server:
- Create
src/rosetta/directory in the forked repo - Add
README.mddescribing your MCP server - Add installation instructions
- Create
-
Create server.json:
{ "name": "rosetta", "displayName": "Rosetta Excel Translation", "description": "AI-powered Excel translation that preserves formatting, formulas, and data integrity", "homepage": "https://github.com/ewalid/rosetta", "license": "MIT", "version": "0.1.0", "npmPackage": "@ewalid/rosetta-mcp", "categories": ["productivity", "translation", "office"], "keywords": ["excel", "translation", "ai", "localization", "i18n", "xlsx"], "installation": { "type": "npm", "package": "@ewalid/rosetta-mcp" }, "configuration": { "required": { "ANTHROPIC_API_KEY": { "type": "string", "description": "Your Anthropic API key from console.anthropic.com" } } }, "tools": [ { "name": "translate_excel", "description": "Translate Excel files while preserving all formatting and formulas" }, { "name": "get_excel_sheets", "description": "List all sheet names in an Excel file" }, { "name": "count_translatable_cells", "description": "Count translatable cells for cost estimation" }, { "name": "preview_cells", "description": "Preview cells before translation" }, { "name": "estimate_translation_cost", "description": "Estimate API cost and processing time" } ] } -
Submit Pull Request:
- Title: "Add Rosetta Excel Translation MCP Server"
- Description: Brief overview of what Rosetta does
- Link to your GitHub repository
- Screenshots/demo (optional but helpful)
Visit: forms.gle/anthropic-partners
Fill out:
- Project name: Rosetta Excel Translation
- Description: AI-powered Excel translation MCP server that preserves formatting, formulas, and data integrity
- Category: Productivity / Office Tools
- GitHub URL: https://github.com/ewalid/rosetta
- npm Package: @ewalid/rosetta-mcp
- License: MIT
- Contact Email: [your email]
❌ Claude.ai does not yet support custom MCP servers in the browser.
The stdio MCP server can potentially be adapted for browser support when Anthropic enables this feature.
For browser translations: Use the Rosetta Web App instead of MCP until browser support arrives.
- ✅ Publish to npm - Makes it easy to install for Claude Desktop
- ✅ Submit to MCP Servers repository - Increases discoverability
- ✅ Announce on GitHub - Update README with MCP availability
- ⏳ Monitor user feedback and issues
- ⏳ Iterate based on real-world usage
- ⏳ Add more examples to documentation
- ⏳ Deploy HTTP MCP for browser support
- ⏳ Update registry with HTTP endpoint
- ⏳ Announce browser availability
- npm downloads: Check at
npmjs.com/package/@ewalid/rosetta-mcp - GitHub issues: Monitor for bug reports and feature requests
- User feedback: Watch for questions in Issues/Discussions
- Keep dependencies updated: Run
uv sync --upgrademonthly - Security patches: Update Anthropic SDK when new versions release
- Bug fixes: Address user-reported issues promptly
- Documentation: Keep guides current with any changes
Use semantic versioning (semver):
- 0.1.x - Bug fixes, documentation updates
- 0.2.0 - New features (e.g., more tools)
- 1.0.0 - Stable release after extensive real-world testing
# Install globally
npm install -g @ewalid/rosetta-mcp
# Run directly
rosetta-mcp
# Or via npx
npx -y @ewalid/rosetta-mcpUpdate config to use npm package:
{
"mcpServers": {
"rosetta": {
"command": "npx",
"args": ["-y", "@ewalid/rosetta-mcp"],
"env": {
"ANTHROPIC_API_KEY": "sk-ant-your-key-here"
}
}
}
}Then test:
What tools do you have from Rosetta?
Translate ~/Downloads/test.xlsx to French
Ready to publish:
- ✅ Code is clean, tested, and documented
- ✅ Security validations in place
- ✅ Performance optimized
- ✅ npm package configured
- ✅ Documentation complete
Next steps:
- Publish to npm:
npm publish --access public - Submit to MCP Servers repository (PR)
- Optionally submit to Claude Partners Directory (form)
- Monitor and maintain
Important notes:
- Browser MCP not yet supported by Anthropic (use web app instead)
- HTTP server ready for when browser support arrives
- Focus on Claude Desktop for initial release