We welcome contributions of all kinds—bug fixes, features, and documentation updates!
- Fork this repository and clone your fork:
git clone https://github.com/<your-username>/currents-mcp.git
cd currents-mcp- Install dependencies:
cd mcp-server
npm install- Build the project:
npm run build- Run tests:
npm testSee TESTING.md for more details on testing.
- Run locally (stdio):
npm startYou should see: Currents MCP Server running on stdio.
To test with a local MCP client (e.g., Cursor or Claude Desktop), point the client to your built server:
- Command:
node - Args:
./mcp-server/build/index.js - Env: set
CURRENTS_API_KEYto a valid key
Example snippet for a client config:
{
"mcpServers": {
"currents": {
"command": "node",
"args": ["./mcp-server/build/index.js"],
"env": {
"CURRENTS_API_KEY": "your-api-key"
}
}
}
}To test the tools locally without any LLM, you can use the following command:
npm run buildthen run the tools script:
node scripts/call-tools.js- Make changes under
mcp-server/src/, then rebuild and re-run:
npm run build && npm start-
Write tests for your changes in
*.test.tsfiles alongside your code -
Run tests to ensure everything works:
npm test- Keep changes focused and documented (add comments/types where helpful).
Follow Conventional Commits for automatic version bumping:
feat: add new tool for fetching test artifacts
fix: handle missing API key gracefully
docs: update setup instructions
chore: update dependencies
refactor: simplify request handling
feat!: redesign API response format
BREAKING CHANGE: response structure has changed
- In your PR, describe the motivation, approach, and any trade-offs. Link related issues if applicable.
- Before creating a new issue, please search existing issues to avoid duplicates.
- When filing a bug report, include steps to reproduce, expected vs. actual behavior, and environment details (OS, Node.js version).
By contributing, you agree that your contributions will be licensed under the Apache 2.0 license (as specified in the package metadata).