-
Notifications
You must be signed in to change notification settings - Fork 39.3k
Fix/sessions e2e concurrency #310772
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Fix/sessions e2e concurrency #310772
Changes from all commits
b2e4368
7c76e7a
bb28bfe
18d968d
70d3c0a
20a513f
5852fc7
20791a1
5b7f4b2
bb44685
e9a0f07
5fec07e
a536c62
f519142
d310bfc
b13a0bf
fc08e21
287d4e1
ee450dc
d731fa9
ac730f6
0baab7f
e17e41b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,220 @@ | ||
| # ToolPipe MCP Server Extension | ||
|
|
||
| This VS Code extension provides seamless integration with **ToolPipe MCP Server**, giving you access to 120+ developer utilities through the Model Context Protocol (MCP). | ||
|
|
||
| ## Features | ||
|
|
||
| ### ✨ 120+ Developer Utilities | ||
|
|
||
| ToolPipe MCP Server provides comprehensive developer tools organized into five categories: | ||
|
|
||
| #### 🔧 Code Tools | ||
| - JavaScript/TypeScript: Formatting, minification, code review, AST analysis | ||
| - Python: Code formatting, linting, syntax checking | ||
| - SQL: Query formatting, optimization, validation | ||
| - CSS/SCSS/LESS: Formatting, minification, validation | ||
| - HTML: Formatting, validation, optimization | ||
|
|
||
| #### 📊 Data Tools | ||
| - JSON: Formatting, validation, transformation, schema analysis | ||
| - CSV: Parsing, formatting, conversion to JSON/XML | ||
| - XML: Formatting, validation, transformation | ||
| - YAML: Formatting, validation, conversion | ||
| - Encoding: Base64 encode/decode, hex conversion, URL encoding | ||
| - Generators: UUID generation, random data generation | ||
|
|
||
| #### 🔒 Security Tools | ||
| - Hash Generation: MD5, SHA-1, SHA-256, SHA-512, HMAC | ||
| - JWT: Decode and validate JWT tokens | ||
| - SSL/TLS: Certificate validation and analysis | ||
| - Security Headers: Analysis and validation | ||
| - Password Generation: Secure password creation | ||
|
|
||
| #### 🌐 API Tools | ||
| - HTTP Client: Make HTTP requests with custom headers | ||
| - OpenAPI: Spec generation and documentation | ||
| - Webhook Testing: Webhook URL generation and testing | ||
| - API Documentation: Auto-generate from code comments | ||
| - REST Builder: Interactive REST API builder | ||
|
|
||
| #### 🚀 DevOps Tools | ||
| - Docker: Docker Compose generation, container commands | ||
| - GitHub Actions: Workflow generation and validation | ||
| - Nginx: Configuration generation and validation | ||
| - Kubernetes: YAML generation and validation | ||
| - Environment: System information and diagnostics | ||
|
|
||
| ## Installation | ||
|
|
||
| 1. Install this extension from the VS Code Marketplace | ||
| 2. Reload VS Code | ||
| 3. The extension will be automatically activated | ||
|
|
||
| ## Configuration | ||
|
|
||
| ### Quick Start (Remote Mode) | ||
|
|
||
| To use ToolPipe with a remote server, configure the URL of your MCP server: | ||
|
|
||
| ```json | ||
| { | ||
| "toolpipeMcpServer.enabled": true, | ||
| "toolpipeMcpServer.mode": "remote", | ||
| "toolpipeMcpServer.remoteUrl": "https://example.com/mcp" | ||
| } | ||
| ``` | ||
|
|
||
| Replace `https://example.com/mcp` with your actual ToolPipe server URL. | ||
|
|
||
| ### Advanced Configuration | ||
|
|
||
| #### Using Local Server | ||
|
|
||
| To run ToolPipe locally (requires Node.js and npm): | ||
|
|
||
| ```bash | ||
| npm install -g @cosai-labs/toolpipe-mcp-server | ||
| ``` | ||
|
|
||
| Then configure VS Code: | ||
|
|
||
| ```json | ||
| { | ||
| "toolpipeMcpServer.enabled": true, | ||
| "toolpipeMcpServer.mode": "local", | ||
| "toolpipeMcpServer.localCommand": "npx", | ||
| "toolpipeMcpServer.localArgs": ["@cosai-labs/toolpipe-mcp-server"] | ||
| } | ||
| ``` | ||
|
|
||
| #### Disabling the Extension | ||
|
|
||
| To disable ToolPipe integration: | ||
|
|
||
| ```json | ||
| { | ||
| "toolpipeMcpServer.enabled": false | ||
| } | ||
| ``` | ||
|
|
||
| ## Usage with AI Assistants | ||
|
|
||
| Once configured, ToolPipe tools are automatically available to: | ||
| - **Copilot Chat**: Use `/explain` or chat tools to access utilities | ||
| - **Claude Desktop**: Via MCP server connection | ||
| - **Cursor/Windsurf**: Integrated through MCP protocol | ||
| - **Cline**: Via MCP server endpoints | ||
|
|
||
| ## Configuration Reference | ||
|
|
||
| ### Settings | ||
|
|
||
| | Setting | Type | Default | Description | | ||
| |---------|------|---------|-------------| | ||
| | `toolpipeMcpServer.enabled` | boolean | `true` | Enable/disable the extension | | ||
| | `toolpipeMcpServer.mode` | string | `remote` | Connection mode: `remote` or `local` | | ||
| | `toolpipeMcpServer.remoteUrl` | string | `` (empty) | Remote server URL | | ||
| | `toolpipeMcpServer.localCommand` | string | `npx` | Command for local server | | ||
| | `toolpipeMcpServer.localArgs` | array | `["@cosai-labs/toolpipe-mcp-server"]` | Arguments for local server | | ||
|
rupeshkumar-555 marked this conversation as resolved.
|
||
|
|
||
| ## Direct MCP Configuration | ||
|
|
||
| You can also configure ToolPipe directly in your `.vscode/mcp.json`: | ||
|
|
||
| ### Remote Server (HTTP) | ||
| ```json | ||
| { | ||
| "mcp": { | ||
| "servers": { | ||
| "toolpipe": { | ||
| "type": "http", | ||
| "url": "https://example.com/mcp" | ||
| } | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| ### Local Server (Stdio) | ||
| ```json | ||
| { | ||
| "mcp": { | ||
| "servers": { | ||
| "toolpipe": { | ||
| "type": "stdio", | ||
| "command": "npx", | ||
| "args": ["@cosai-labs/toolpipe-mcp-server"] | ||
| } | ||
| } | ||
| } | ||
| } | ||
| ``` | ||
|
|
||
| ## Examples | ||
|
|
||
| ### JSON Formatting with Copilot Chat | ||
| ``` | ||
| @copilot Format this JSON: | ||
| { | ||
| "name":"John", | ||
| "age":30 | ||
| } | ||
| ``` | ||
| Copilot will use ToolPipe's JSON formatting tool automatically. | ||
|
|
||
| ### Code Review | ||
| ``` | ||
| @copilot Can you review this TypeScript code? | ||
| [paste code] | ||
| ``` | ||
| ToolPipe's code review tools will be available in the context. | ||
|
|
||
| ### Hash Generation | ||
| ``` | ||
| @copilot Generate SHA-256 hash of "my-password" | ||
| ``` | ||
| ToolPipe provides instant hash generation. | ||
|
|
||
| ## Troubleshooting | ||
|
|
||
| ### Server not connecting | ||
| 1. Check if the extension is enabled in settings | ||
| 2. For remote mode: verify internet connection | ||
| 3. For local mode: ensure Node.js and npm are installed | ||
| 4. Check VS Code's output panel for error messages | ||
|
|
||
| ### Tools not appearing in chat | ||
| 1. Reload VS Code window (Cmd+Shift+P → "Developer: Reload Window") | ||
| 2. Verify the MCP server started successfully by checking the Extension Host or Developer Tools logs for error messages | ||
| 3. Restart Copilot Chat | ||
|
|
||
| ### Local server not starting | ||
| ```bash | ||
| # Test if the package is installed | ||
| npx @cosai-labs/toolpipe-mcp-server --help | ||
|
|
||
| # Install globally if needed | ||
| npm install -g @cosai-labs/toolpipe-mcp-server | ||
| ``` | ||
|
|
||
| ## Links | ||
|
|
||
| - **npm**: https://www.npmjs.com/package/@cosai-labs/toolpipe-mcp-server | ||
| - **GitHub**: https://github.com/COSAI-Labs/make-money-30day-challenge/tree/master/products/mcp-server | ||
| - **MCP Protocol**: https://modelcontextprotocol.io/ | ||
| - **VS Code Docs**: https://code.visualstudio.com/docs | ||
|
|
||
| ## License | ||
|
|
||
| MIT - See LICENSE file for details | ||
|
|
||
| ## Contributing | ||
|
|
||
| Contributions are welcome! Please submit issues and pull requests to the VS Code repository. | ||
|
|
||
| ## Support | ||
|
|
||
| For issues with: | ||
| - **ToolPipe Server**: https://github.com/COSAI-Labs/make-money-30day-challenge/issues | ||
| - **VS Code Integration**: https://github.com/microsoft/vscode/issues | ||
| - **MCP Protocol**: https://github.com/modelcontextprotocol/specification/issues | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,97 @@ | ||
| { | ||
| "name": "toolpipe-mcp-server", | ||
| "displayName": "%displayName%", | ||
| "description": "%description%", | ||
| "version": "1.0.0", | ||
| "publisher": "vscode", | ||
| "license": "MIT", | ||
| "engines": { | ||
| "vscode": "^1.97.0" | ||
| }, | ||
| "categories": [ | ||
| "Other", | ||
| "Developer Tools" | ||
| ], | ||
|
Comment on lines
+1
to
+14
|
||
| "keywords": [ | ||
| "mcp", | ||
| "model-context-protocol", | ||
| "developer-tools", | ||
| "utilities", | ||
| "json", | ||
| "formatting", | ||
| "linting" | ||
| ], | ||
| "repository": { | ||
| "type": "git", | ||
| "url": "https://github.com/microsoft/vscode" | ||
| }, | ||
| "bugs": { | ||
| "url": "https://github.com/microsoft/vscode/issues" | ||
| }, | ||
| "main": "./out/extension.js", | ||
| "activationEvents": [ | ||
| "onStartupFinished" | ||
| ], | ||
| "contributes": { | ||
| "mcpServerDefinitionProviders": [ | ||
| { | ||
| "id": "toolpipe", | ||
| "label": "%mcpServerDefinition.label%" | ||
| } | ||
| ], | ||
| "configuration": [ | ||
| { | ||
| "title": "%configuration.title%", | ||
| "properties": { | ||
| "toolpipeMcpServer.enabled": { | ||
| "type": "boolean", | ||
| "default": true, | ||
| "description": "%configuration.enabled.description%" | ||
| }, | ||
| "toolpipeMcpServer.mode": { | ||
| "type": "string", | ||
| "enum": [ | ||
| "remote", | ||
| "local" | ||
| ], | ||
| "default": "remote", | ||
| "description": "%configuration.mode.description%" | ||
| }, | ||
| "toolpipeMcpServer.remoteUrl": { | ||
| "type": "string", | ||
| "default": "", | ||
| "description": "%configuration.remoteUrl.description%" | ||
| }, | ||
| "toolpipeMcpServer.localCommand": { | ||
| "type": "string", | ||
| "default": "npx", | ||
| "description": "%configuration.localCommand.description%" | ||
| }, | ||
| "toolpipeMcpServer.localArgs": { | ||
| "type": "array", | ||
| "default": [ | ||
| "@cosai-labs/toolpipe-mcp-server" | ||
| ], | ||
| "description": "%configuration.localArgs.description%" | ||
| } | ||
| } | ||
| } | ||
| ] | ||
| }, | ||
| "scripts": { | ||
| "vscode:prepublish": "npm run compile", | ||
| "compile": "tsc -p ./", | ||
| "watch": "tsc -w -p ./", | ||
| "pretest": "npm run compile && npm run lint", | ||
| "test": "vscode-test", | ||
| "lint": "eslint src --ext ts" | ||
| }, | ||
| "devDependencies": { | ||
| "@types/node": "^18.0.0", | ||
| "@types/vscode": "^1.96.0", | ||
| "@typescript-eslint/eslint-plugin": "^7.0.0", | ||
| "@typescript-eslint/parser": "^7.0.0", | ||
| "eslint": "^8.0.0", | ||
| "typescript": "~5.3.0" | ||
| } | ||
| } | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,11 @@ | ||
| { | ||
| "displayName": "ToolPipe MCP Server", | ||
| "description": "Integrates ToolPipe MCP Server - 120+ developer utilities via Model Context Protocol", | ||
| "configuration.title": "ToolPipe MCP Server", | ||
| "configuration.enabled.description": "Enable ToolPipe MCP Server integration", | ||
| "configuration.mode.description": "ToolPipe connection mode: 'remote' for cloud-hosted server, 'local' for npm-based server", | ||
| "configuration.remoteUrl.description": "Remote URL for ToolPipe MCP Server (HTTPS endpoint). Provide your own server URL, for example: https://example.com/mcp", | ||
| "configuration.localCommand.description": "Command to run local ToolPipe server (e.g., 'npx' or full path)", | ||
| "configuration.localArgs.description": "Arguments for local ToolPipe server command", | ||
| "mcpServerDefinition.label": "ToolPipe MCP Server" | ||
| } |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Enabling this workflow for every pull request (without a
pathsfilter) can significantly increase CI load/runtime, since Sessions E2E appears relatively heavy. If the intent is to run only when Sessions-related files change, consider restoring apaths:filter (similar to the commented-out block) or otherwise narrowing when it triggers.