First off, thank you for considering contributing to AISDK MCP Bridge! It's people like you that make this project better.
This project and everyone participating in it is governed by our Code of Conduct. By participating, you are expected to uphold this code.
Before creating bug reports, please check the existing issues to avoid duplicates. When you create a bug report, include as many details as possible:
- Use a clear and descriptive title
- Describe the exact steps to reproduce the problem
- Provide specific examples (e.g., sample code, configuration)
- Describe the behavior you observed and what you expected
- Include relevant logs from
logs/mcp-tools.log
- Note your environment (Node.js version, OS, etc.)
Enhancement suggestions are tracked as GitHub issues. When creating an enhancement suggestion:
- Use a clear and descriptive title
- Provide a detailed description of the proposed functionality
- Explain why this enhancement would be useful
- List any alternatives you've considered
- Fork the repo and create your branch from
main
- If you've added code that should be tested, add tests
- Ensure the test suite passes
- Make sure your code follows the existing style
- Update the documentation if needed
-
Setup Development Environment
git clone https://github.com/vrknetha/aisdk-mcp-bridge.git cd aisdk-mcp-bridge npm install
-
Run Tests
npm test # Run all tests npm run test:twitter # Run Twitter MCP tests npm run test:firecrawl # Run Firecrawl tests
-
Code Style
- Use TypeScript
- Follow the existing code style
- Use ESLint and Prettier for formatting
npm run lint # Check code style npm run format # Format code
aisdk-mcp-bridge/
├── src/
│ ├── index.ts # Main entry point
│ ├── service.ts # MCP service implementation
│ ├── server.ts # Server management
│ └── tools.ts # Utility functions
├── examples/
│ ├── test-twitter.ts # Twitter MCP example
│ └── test-firecrawl.ts# Firecrawl example
├── tests/
│ └── ... # Test files
└── logs/
└── mcp-tools.log # Debug and error logs
-
Create a new configuration in
mcp.config.json
:{ "mcpServers": { "your-server": { "command": "npx", "args": ["-y", "your-mcp-server"], "env": { "YOUR_API_KEY": "your-api-key" } } } }
-
Add tests in
examples/test-your-server.ts
-
Update documentation to include your server
-
Add any necessary environment variables to
.env.example
Format your commit messages according to conventional commits:
feat:
New featurefix:
Bug fixdocs:
Documentation changestest:
Adding or updating testschore:
Maintenance tasks
Example:
feat: add support for new MCP server type
- Added configuration options for new server
- Implemented connection handling
- Added tests and documentation
- Update version in
package.json
- Update CHANGELOG.md
- Create a new release on GitHub
- GitHub Actions will automatically publish to npm
- Check the documentation
- Join our Discord community
- Create an issue for complex questions
By contributing, you agree that your contributions will be licensed under the MIT License.