Thanks for contributing to Angel One MCP Server.
git clone https://github.com/ameernoufil/angel-one-mcp.git
cd angel-one-mcp
npm install
cp .env.example .env
npm run devFill .env with valid Angel One credentials if you need to exercise authenticated flows.
npm run build
npm run lint
npm run lint:fix
npm run format
npm start
npm run devBefore opening a PR, run at least:
npm run build
npm run lint- Use direct
fetch()calls. Do not add Angel One SDK packages. - Keep tool handlers thin. Put HTTP logic in
src/api.ts. - Keep shared validation and trade-safety logic in
src/guards.tsor helpers. - Preserve strict TypeScript.
- Use
@/path aliases. Do not add relative imports from.or... - Avoid
anyand non-null assertions. - Treat trading mutations as safety-sensitive changes.
- Add or update the API method in
src/api.ts - Add or update types in
src/types.ts - Add or update the tool handler in
src/tools/ - Register new tool groups in
src/tools/index.ts - Run
npm run build - Run
npm run lint
- Branch from
main - Keep changes focused
- Include docs updates when user-facing behavior changes
- Ensure
npm run buildandnpm run lintpass - Open PR with clear summary and testing notes
Use simple lower-case conventional commits.
Examples:
feat: add option greeks endpointfix: validate gtt disclosed quantitydocs: tighten project docs
npm publishing should happen from GitHub Actions, triggered by a version tag push.
Typical flow:
npm version patch
git push origin main --tagsNotes:
npm version patchupdatespackage.json, creates a commit, and creates a tag.- Tag name must match package version, for example
v1.0.7. - README changes only reach npm after a new version is published.
- If release automation changes, verify
.github/workflows/publish.ymlstill matches npm Trusted Publishing requirements.