MCP server that provides Binance price data
npm install sam-aiml-binancemcptsconfig.json sets up a development environment that:
src/: Source code directory (TypeScript files)
dist/: Compiled output directory (JavaScript files)
node_modules/: External dependencies (like Python's site-packages)
mypy --strict). This catches more errors during development rather than at runtime.
sys.path to resolve imports.
package.json file is similar to Python's setup.py and pyproject.toml combined. Here's what each section means for Python developers:
name: Package name in npm's registry (like Python package name in PyPI)
@username/ prefix is for scoped packages (similar to Python's namespace packages)
version: Semantic version (same as in setup.py)
binance_mcp.ts to keep versions in sync
description: Package description (like in setup.py)
main: The main entry point when this package is imported (similar to __init__.py)
bin: Makes the package executable from command line (like Python's console_scripts)
dependencies: Runtime dependencies (like requirements.txt or install_requires in setup.py)
@modelcontextprotocol/sdk: The MCP SDK package
zod: Runtime type checking (similar to Python's typing module)
devDependencies: Development-only dependencies (like dev-requirements.txt)
@types/node: TypeScript type definitions for Node.js
typescript: The TypeScript compiler
scripts: Automation commands (like Makefile targets or setup.py commands)
build: Compiles TypeScript to JavaScript
prepare: Automatically runs build before package installation
engines: Node.js version requirements (like python_requires in setup.py)
bash
npm install
`
2. Build the project:
`bash
npm run build
`
3. Run the server:
`bash
npx typescript_mcp
`
Dependencies
- @modelcontextprotocol/sdk: Core MCP functionality
- zod: Runtime type checking
- typescript: Development dependency for TypeScript compilation
- @types/node: Type definitions for Node.js
Development Notes
The strict configuration ensures type safety throughout the project. When adding new code, make sure to:
1. Use proper type annotations
2. Handle all potential error cases
3. Follow the module import/export patterns established in existing files
``