chore: Update configuration and dependencies for enhanced MCP server functionality

- Add RATE_LIMIT_MAX_AUTH_REQUESTS to .env.example for improved rate limiting
- Update bun.lock and package.json to include new dependencies: @anthropic-ai/sdk, express-rate-limit, and their type definitions
- Modify bunfig.toml for build settings and output configuration
- Refactor src/config.ts to incorporate rate limiting settings
- Implement security middleware for enhanced request validation and sanitization
- Introduce rate limiting middleware for API and authentication endpoints
- Add tests for configuration validation and rate limiting functionality
This commit is contained in:
jango-blockchained
2025-03-23 13:00:02 +01:00
parent 2d5ae034c9
commit febc9bd5b5
20 changed files with 1347 additions and 532 deletions

View File

@@ -13,9 +13,10 @@
"start:stdio": "bun run dist/stdio-server.js",
"dev": "bun --hot --watch src/index.ts",
"build": "bun build ./src/index.ts --outdir ./dist --target bun --minify",
"build:node": "webpack --config webpack.config.cjs",
"build:all": "bun build ./src/index.ts ./src/stdio-server.ts --outdir ./dist --target bun --minify",
"build:node": "bun build ./src/index.ts --outdir ./dist --target node --minify",
"build:stdio": "bun build ./src/stdio-server.ts --outdir ./dist --target node --minify",
"prepare": "husky install && npm run build",
"prepare": "husky install && bun run build:all",
"stdio": "node ./bin/mcp-stdio.js",
"test": "bun test",
"test:watch": "bun test --watch",
@@ -32,11 +33,14 @@
"example:speech": "bun run extra/speech-to-text-example.ts"
},
"dependencies": {
"@anthropic-ai/sdk": "^0.39.0",
"@elysiajs/cors": "^1.2.0",
"@elysiajs/swagger": "^1.2.0",
"@types/express-rate-limit": "^5.1.3",
"@types/jsonwebtoken": "^9.0.5",
"@types/node": "^20.11.24",
"@types/sanitize-html": "^2.9.5",
"@types/sanitize-html": "^2.13.0",
"@types/swagger-ui-express": "^4.1.8",
"@types/ws": "^8.5.10",
"@xmldom/xmldom": "^0.9.7",
"chalk": "^5.4.1",
@@ -44,12 +48,15 @@
"dotenv": "^16.4.7",
"elysia": "^1.2.11",
"express": "^4.21.2",
"express-rate-limit": "^7.5.0",
"helmet": "^7.1.0",
"jsonwebtoken": "^9.0.2",
"node-fetch": "^3.3.2",
"node-record-lpcm16": "^1.0.1",
"openai": "^4.83.0",
"sanitize-html": "^2.11.0",
"openapi-types": "^12.1.3",
"sanitize-html": "^2.15.0",
"swagger-ui-express": "^5.0.1",
"typescript": "^5.3.3",
"winston": "^3.11.0",
"winston-daily-rotate-file": "^5.0.0",
@@ -62,6 +69,7 @@
"@types/cors": "^2.8.17",
"@types/express": "^5.0.0",
"@types/jest": "^29.5.14",
"@types/supertest": "^6.0.2",
"@types/uuid": "^10.0.0",
"@typescript-eslint/eslint-plugin": "^7.1.0",
"@typescript-eslint/parser": "^7.1.0",
@@ -72,13 +80,8 @@
"eslint-plugin-prettier": "^5.1.3",
"husky": "^9.0.11",
"prettier": "^3.2.5",
"supertest": "^6.3.3",
"terser-webpack-plugin": "^5.3.10",
"ts-loader": "^9.5.1",
"uuid": "^11.0.5",
"webpack": "^5.98.0",
"webpack-cli": "^5.1.4",
"webpack-node-externals": "^3.0.0"
"supertest": "^7.1.0",
"uuid": "^11.1.0"
},
"engines": {
"bun": ">=1.0.0",
@@ -93,4 +96,4 @@
"README.md",
"LICENSE"
]
}
}