Skip to main content
Glama

Letta MCP Server

by oculairmedia
PUBLISHING.md4.59 kB
# Publishing to npm This guide explains how to publish the letta-mcp-server package to npm. ## Prerequisites 1. **npm account**: Create an account at https://www.npmjs.com/ 2. **Login to npm**: Run `npm login` and enter your credentials 3. **Two-factor authentication**: Enable 2FA on your npm account for security ## Pre-publish Checklist Before publishing, ensure: - [ ] All tests pass: `npm test` - [ ] Code is linted: `npm run lint` - [ ] Code is formatted: `npm run format:check` - [ ] Coverage is adequate: `npm run test:coverage` - [ ] README is up to date - [ ] CHANGELOG is updated (if applicable) - [ ] Version number is appropriate ## Publishing Process ### 1. First-time Setup If this is your first time publishing this package: ```bash # Verify you're logged in npm whoami # Check package contents that will be published npm pack --dry-run # Review the files that will be included ``` ### 2. Version Update Use npm version commands to update the version and create a git tag: ```bash # For a patch release (1.1.0 -> 1.1.1) npm version patch # For a minor release (1.1.0 -> 1.2.0) npm version minor # For a major release (1.1.0 -> 2.0.0) npm version major ``` This will: - Update the version in package.json - Run pre/post version scripts - Create a git commit and tag - Push to remote repository ### 3. Publish to npm ```bash # Publish to npm registry npm publish # Or for a beta/pre-release npm publish --tag beta ``` The `prepublishOnly` script will automatically run tests and checks before publishing. ### 4. Verify Publication After publishing: ```bash # Check the package on npm npm view letta-mcp-server # Test installation npm install -g letta-mcp-server letta-mcp --version ``` ## Versioning Guidelines Follow semantic versioning (semver): - **MAJOR** (x.0.0): Breaking API changes - **MINOR** (0.x.0): New features, backwards compatible - **PATCH** (0.0.x): Bug fixes, backwards compatible ## Access Control To add collaborators who can publish: ```bash npm owner add <username> letta-mcp-server ``` ## Troubleshooting ### Common Issues 1. **Authentication failed**: Run `npm login` again 2. **Version already exists**: Bump the version number 3. **Files missing**: Check .npmignore configuration 4. **Tests failing**: Fix tests before publishing ### Unpublishing ⚠️ Use with caution! Unpublishing can break dependencies. ```bash # Unpublish a specific version (within 72 hours) npm unpublish letta-mcp-server@1.1.0 # Deprecate instead of unpublishing npm deprecate letta-mcp-server@1.1.0 "Critical bug, please upgrade" ``` ## CI/CD Publishing ### Automated Publishing Setup The repository includes GitHub Actions workflows for automated publishing: 1. **Main Release Workflow** (`.github/workflows/publish.yml`) - Triggers on GitHub release creation - Manual trigger with version selection (patch/minor/major) - Runs tests and quality checks before publishing - Creates GitHub release automatically 2. **Pre-release Workflow** (`.github/workflows/publish-prerelease.yml`) - Triggers on push to develop/beta/alpha branches - Publishes with appropriate npm tags (alpha, beta, rc) - Includes timestamp in version for uniqueness ### Setup Requirements 1. **Add npm token to GitHub Secrets**: - Generate token at: https://www.npmjs.com/settings/[username]/tokens - Use "Automation" token type - Add to repository secrets as `NPM_TOKEN` 2. **Optional Secrets**: - `LETTA_BASE_URL`: For running integration tests - `LETTA_PASSWORD`: For running integration tests ### Publishing via GitHub Actions #### Regular Release ```bash # Option 1: Manual trigger from Actions tab # Go to Actions → Publish to npm → Run workflow # Select version type (patch/minor/major) # Option 2: Create a GitHub release # Go to Releases → Create new release # Tag version as v1.2.0 (workflow will publish) ``` #### Pre-release ```bash # Automatic: Push to develop/beta/alpha branch git push origin develop # Manual: Run pre-release workflow # Go to Actions → Publish Pre-release → Run workflow # Select tag (alpha/beta/rc) ``` ### Version Tags - **Latest**: Default install (`npm install letta-mcp-server`) - **Beta**: Beta testing (`npm install letta-mcp-server@beta`) - **Alpha**: Early testing (`npm install letta-mcp-server@alpha`) - **RC**: Release candidate (`npm install letta-mcp-server@rc`) ## Post-publish After successful publication: 1. Create a GitHub release with release notes 2. Update documentation if needed 3. Announce in relevant channels 4. Monitor npm downloads and issues

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/oculairmedia/Letta-MCP-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server