mirror of
https://github.com/wassname/HumanAgent-MCP.git
synced 2026-09-09 11:14:27 +08:00
- Added separate /mcp-tools endpoint for VS Code extension MCP protocol - Maintained /mcp endpoint for webview SSE connections (heartbeats, messages) - Eliminated competing SSE connections that caused message delivery failures - Enhanced SSE connection health monitoring with detailed diagnostics - Added connection state management to prevent race conditions - Fixed sendToSession() to use proper health checking instead of raw writes - Improved logging to track connection conflicts and message delivery - Maintains proper session separation between different VS Code workspaces This resolves the issue where VS Code webview received heartbeats but not tool call messages due to competing SSE connections overwriting each other.
173 lines
4.8 KiB
JSON
173 lines
4.8 KiB
JSON
{
|
|
"name": "humanagent-mcp",
|
|
"displayName": "HumanAgent MCP",
|
|
"description": "MCP server for chatting with a human agent",
|
|
"version": "0.0.1",
|
|
"publisher": "benharper",
|
|
"engines": {
|
|
"vscode": "^1.105.0"
|
|
},
|
|
"categories": [
|
|
"Other"
|
|
],
|
|
"activationEvents": [
|
|
"onStartupFinished"
|
|
],
|
|
"main": "./dist/extension.js",
|
|
"contributes": {
|
|
"commands": [
|
|
{
|
|
"command": "humanagent-mcp.createSession",
|
|
"title": "Create New Chat Session",
|
|
"icon": "$(add)"
|
|
},
|
|
{
|
|
"command": "humanagent-mcp.refreshSessions",
|
|
"title": "Refresh Sessions",
|
|
"icon": "$(refresh)"
|
|
},
|
|
{
|
|
"command": "humanagent-mcp.showStatus",
|
|
"title": "Show MCP Server Status"
|
|
},
|
|
{
|
|
"command": "humanagent-mcp.openChat",
|
|
"title": "Open Chat Session"
|
|
},
|
|
{
|
|
"command": "humanagent-mcp.configureMcp",
|
|
"title": "Configure MCP Server",
|
|
"icon": "$(settings-gear)"
|
|
},
|
|
{
|
|
"command": "humanagent-mcp.startServer",
|
|
"title": "Start MCP Server",
|
|
"icon": "$(play)"
|
|
},
|
|
{
|
|
"command": "humanagent-mcp.stopServer",
|
|
"title": "Stop MCP Server",
|
|
"icon": "$(stop)"
|
|
},
|
|
{
|
|
"command": "humanagent-mcp.restartServer",
|
|
"title": "Restart MCP Server",
|
|
"icon": "$(debug-restart)"
|
|
}
|
|
],
|
|
"viewsContainers": {
|
|
"panel": [
|
|
{
|
|
"id": "humanagent-mcp",
|
|
"title": "HumanAgent Chat",
|
|
"icon": "$(comment-discussion)"
|
|
}
|
|
]
|
|
},
|
|
"views": {
|
|
"explorer": [
|
|
{
|
|
"id": "humanagent-mcp.chatSessions",
|
|
"name": "Chat Sessions",
|
|
"when": "true",
|
|
"icon": "$(comment-discussion)"
|
|
}
|
|
],
|
|
"humanagent-mcp": [
|
|
{
|
|
"type": "webview",
|
|
"id": "humanagent-mcp.chatView",
|
|
"name": "Chat",
|
|
"when": "true",
|
|
"icon": "$(comment)"
|
|
}
|
|
]
|
|
},
|
|
"viewsWelcome": [
|
|
{
|
|
"view": "humanagent-mcp.chatSessions",
|
|
"contents": "No chat sessions found.\n[Create New Session](command:humanagent-mcp.createSession)\nTo learn more about how to use HumanAgent MCP [read our docs](https://github.com/your-username/humanagent-mcp)."
|
|
}
|
|
],
|
|
"menus": {
|
|
"view/title": [
|
|
{
|
|
"command": "humanagent-mcp.createSession",
|
|
"when": "view == humanagent-mcp.chatSessions",
|
|
"group": "navigation"
|
|
},
|
|
{
|
|
"command": "humanagent-mcp.refreshSessions",
|
|
"when": "view == humanagent-mcp.chatSessions",
|
|
"group": "navigation"
|
|
},
|
|
{
|
|
"command": "humanagent-mcp.configureMcp",
|
|
"when": "view == humanagent-mcp.chatSessions",
|
|
"group": "navigation"
|
|
}
|
|
]
|
|
},
|
|
"mcpServerDefinitionProviders": [
|
|
{
|
|
"id": "humanagent-mcp.server",
|
|
"label": "HumanAgent MCP Server"
|
|
}
|
|
],
|
|
"configuration": {
|
|
"title": "HumanAgent MCP",
|
|
"properties": {
|
|
"humanagent-mcp.logging.enabled": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"description": "Enable logging to .vscode directory in workspace. Logs MCP server activity and debugging information."
|
|
},
|
|
"humanagent-mcp.logging.level": {
|
|
"type": "string",
|
|
"enum": ["ERROR", "WARN", "INFO", "DEBUG"],
|
|
"default": "INFO",
|
|
"description": "Set the logging level for HumanAgent MCP server"
|
|
},
|
|
"humanagent-mcp.notifications.enableSound": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Enable audio notifications when AI agents send messages"
|
|
},
|
|
"humanagent-mcp.notifications.enableFlashing": {
|
|
"type": "boolean",
|
|
"default": true,
|
|
"description": "Enable visual flashing notifications when AI agents send messages"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"scripts": {
|
|
"vscode:prepublish": "npm run package",
|
|
"compile": "webpack",
|
|
"watch": "webpack --watch",
|
|
"package": "webpack --mode production --devtool hidden-source-map",
|
|
"compile-tests": "tsc -p . --outDir out",
|
|
"watch-tests": "tsc -p . -w --outDir out",
|
|
"pretest": "npm run compile-tests && npm run compile && npm run lint",
|
|
"lint": "eslint src",
|
|
"test": "vscode-test"
|
|
},
|
|
"devDependencies": {
|
|
"@types/mocha": "^10.0.10",
|
|
"@types/node": "22.x",
|
|
"@types/vscode": "^1.105.0",
|
|
"@typescript-eslint/eslint-plugin": "^8.45.0",
|
|
"@typescript-eslint/parser": "^8.45.0",
|
|
"@vscode/test-cli": "^0.0.11",
|
|
"@vscode/test-electron": "^2.5.2",
|
|
"eslint": "^9.36.0",
|
|
"ts-loader": "^9.5.4",
|
|
"typescript": "^5.9.3",
|
|
"webpack": "^5.102.0",
|
|
"webpack-cli": "^6.0.1"
|
|
},
|
|
"dependencies": {
|
|
"node-wav-player": "^1.0.0"
|
|
}
|
|
}
|