Complete guide for testing MCP servers with stdio client, Gemini CLI, HTTP client, and VSCode Copilot.
- Python 3.10 or higher
- pip package manager
- Gemini CLI (optional, for AI integration)
- VSCode or Cursor (optional, for IDE integration)
MCP_server/
├── MCP_server.py # stdio server (for Gemini CLI)
├── MCP_server_http.py # HTTP server (for web/remote)
├── clients/
│ ├── __init__.py
│ ├── stdio_client.py # Test client for stdio
│ └── http_client.py # Test client for HTTP
├── shared/
│ ├── __init__.py
│ ├── tools.py # Tool implementations
│ └── api.py # AccuKnox API client
├── .vscode/
│ └── mcp.json # VSCode Copilot configuration
├── .env # Environment variables (create your own)
├── requirements.txt
└── README.md
cd MCP_serverpython3 -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activatepip install -r requirements.txtCreate .env file:
ACCUKNOX_BASE_URL=https://cspm.demo.accuknox.com
ACCUKNOX_API_TOKEN=your_token_hereThe stdio server uses standard input/output for communication, designed for local CLI integration.
Terminal 1: Start server (automatically started by client)
Terminal 2: Run test client
python3 clients/stdio_client.pyInteractive Menu:
Options:
1 - Count assets
2 - List 5 assets
3 - Search by category
4 - Get vulnerabilities
exit - Quit
Select: 1
Example Output:
Total assets: 1247
Gemini CLI provides AI-powered natural language interactions with your MCP server.
pip install google-generativeai# Add server to Gemini CLI (use absolute path)
gemini mcp add accuknox python3 /absolute/path/to/MCP_server.pygemini mcp list
# Output:
# accuknox: python3 /path/to/MCP_server.pygeminiExample 1: Count Assets
You: How many cloud assets do I have?
Gemini: You have 1,247 cloud assets in your inventory.
Example 2: Search by Category
You: Show me 5 Container assets
Gemini: Here are 5 Container assets:
1. nginx-prod (Container) - Region: us-east-1
2. redis-cache (Container) - Region: us-west-2
3. postgres-db (Container) - Region: eu-west-1
4. kafka-broker (Container) - Region: us-east-1
5. redis-sentinel (Container) - Region: ap-south-1
Example 3: Security Vulnerabilities
You: What security vulnerabilities do my AI models have?
Gemini: Your AI models have 147 security issues:
• ML Models: 5 issues (1 Critical, 4 Medium)
• LLM Models: 136 issues (136 Critical)
• Datasets: 6 issues (6 High)
Immediate action required for 137 critical vulnerabilities.
gemini mcp remove accuknoxCreate .vscode/mcp.json in your project root:
mkdir -p .vscode
nano .vscode/mcp.json{
"mcpServers": {
"accuknox-stdio": {
"command": "python3",
"args": ["${workspaceFolder}/MCP_server.py"],
"env": {
"ACCUKNOX_BASE_URL": "https://cspm.demo.accuknox.com",
"ACCUKNOX_API_TOKEN": "your_token_here"
}
}
}
}Note: Using ${workspaceFolder} makes the configuration portable across machines.
- Open your project in VSCode
- VSCode automatically detects
.vscode/mcp.json - Click "Start" when prompted
- Open Copilot Chat:
Ctrl+Shift+I(Windows/Linux) orCmd+Shift+I(Mac) - Enable Agent Mode (click brain icon )
- Click tools icon () → Enable
accuknox-stdio
@agent How many cloud assets do I have?
@agent Show me Container assets in AWS
@agent What are my model vulnerabilities?
The HTTP server provides REST API access for web clients and remote integrations.
Terminal 1: Start HTTP server
python3 MCP_server_http.pyOutput:
======================================================================
AccuKnox MCP Server - HTTP
======================================================================
Server: http://localhost:8000
Tools: search_assets, get_model_vulnerabilities
Press Ctrl+C to shutdown
======================================================================
INFO: Uvicorn running on http://0.0.0.0:8000
Terminal 2: Run test client
python3 clients/http_client.pyInteractive Menu:
Options:
1 - Count assets
2 - List 5 assets
3 - Search by category
4 - Get vulnerabilities
exit - Quit
Select: 4
VSCode Copilot supports HTTP MCP servers starting from version 1.102+.
- VSCode 1.102 or higher
- GitHub Copilot extension installed
- HTTP MCP server running on
http://localhost:8000
# Start HTTP server
python3 MCP_server_http.py
# In another terminal, verify it's running
curl http://localhost:8000/health
# Expected: {"status": "healthy"}Option A: Project-Level Configuration (Recommended)
Create .vscode/mcp.json:
{
"servers": {
"accuknox-http": {
"type": "http",
"url": "http://localhost:8000"
}
},
"inputs": []
}Option B: Remote Server Configuration
For deployed servers:
{
"servers": {
"accuknox-http": {
"type": "http",
"url": "https://your-server.com:8000",
"headers": {
"Authorization": "Bearer ${input:api-token}"
}
}
},
"inputs": [
{
"type": "promptString",
"id": "api-token",
"description": "AccuKnox API Token",
"password": true
}
]
}Option C: Global Configuration
For all workspaces, create ~/.vscode/mcp.json:
{
"servers": {
"accuknox-http": {
"type": "http",
"url": "http://localhost:8000"
}
},
"inputs": []
}Method 1: Automatic Detection
- Open project in VSCode
- VSCode detects
.vscode/mcp.json - Click "Start" button in the file
- Server status shows "running" in status bar
Method 2: Command Palette
- Press
Ctrl+Shift+P(orCmd+Shift+Pon Mac) - Type: "MCP: Add Server"
- Select "HTTP/SSE"
- Enter Server ID:
accuknox-http - Enter URL:
http://localhost:8000 - Choose Workspace or Global
- Click Save
Method 3: Manual Configuration
- Create
.vscode/mcp.jsonwith above content - Save file
- VSCode auto-detects and shows Start button
-
Open Copilot Chat:
- Press
Ctrl+Shift+I(Windows/Linux) - Press
Cmd+Shift+I(Mac) - Or click Copilot icon in Activity Bar
- Press
-
Enable Agent Mode:
- Click the brain icon () at top
- Or type
@agentin chat
-
Configure Tools:
- Click tools icon () at bottom
- Find
accuknox-httpin list - Toggle ON to enable
Example 1: Asset Inventory
@agent How many cloud assets do I have?
Copilot: You have 1,247 cloud assets in your inventory.
Example 2: Category Search
@agent Show me 5 Container assets
Copilot: Here are 5 Container assets:
1. nginx-prod (Container) - Region: us-east-1
2. redis-cache (Container) - Region: us-west-2
3. postgres-db (Container) - Region: eu-west-1
4. kafka-broker (Container) - Region: us-east-1
5. redis-sentinel (Container) - Region: ap-south-1
Example 3: Security Analysis
@agent What security vulnerabilities do my AI models have?
Copilot: Your AI models have 147 security issues:
• ML Models: 5 issues (1 Critical, 4 Medium)
• LLM Models: 136 issues (136 Critical)
• Datasets: 6 issues (6 High)
Critical attention required for 137 vulnerabilities.
Example 4: Cloud Provider Filter
@agent List AWS assets in us-east-1 region
Copilot: Found 234 AWS assets in us-east-1 region...
| Action | Command |
|---|---|
| stdio server | python3 MCP_server.py |
| HTTP server | python3 MCP_server_http.py |
| stdio client | python3 clients/stdio_client.py |
| HTTP client | python3 clients/http_client.py |
| Tool | Config Location |
|---|---|
| VSCode Copilot | .vscode/mcp.json or ~/.vscode/mcp.json |
| Gemini CLI | Managed by gemini mcp commands |