Skip to content

Commit 6fe76ae

Browse files
docs updated
1 parent 0c58513 commit 6fe76ae

File tree

6 files changed

+248
-31
lines changed

6 files changed

+248
-31
lines changed

testcases/tests/mcp_tools/browser-mcp-test.js

Lines changed: 80 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -5,36 +5,86 @@ async function testBrowserMCPTools() {
55
console.log('============================');
66
await codebolt.waitForConnection();
77
try {
8-
// 1. browser_navigate
9-
try {
10-
const result = await codebolt.tools.executeTool('codebolt.browser', 'browser_navigate', { url: 'https://example.com' });
11-
console.log('✅ browser_navigate:', result?.success, 'URL:', result?.currentUrl);
12-
} catch (e) { console.log('⚠️ browser_navigate failed:', e.message); }
13-
// 2. browser_click
14-
try {
15-
const result = await codebolt.tools.executeTool('codebolt.browser', 'browser_click', { selector: 'body' });
16-
console.log('✅ browser_click:', result?.success);
17-
} catch (e) { console.log('⚠️ browser_click failed:', e.message); }
18-
// 3. browser_type
19-
try {
20-
const result = await codebolt.tools.executeTool('codebolt.browser', 'browser_type', { selector: 'input', text: 'test' });
21-
console.log('✅ browser_type:', result?.success);
22-
} catch (e) { console.log('⚠️ browser_type failed:', e.message); }
23-
// 4. browser_screenshot
24-
try {
25-
const result = await codebolt.tools.executeTool('codebolt.browser', 'browser_screenshot', { fullPage: true });
26-
console.log('✅ browser_screenshot:', result?.success, 'Screenshot:', !!result?.screenshot);
27-
} catch (e) { console.log('⚠️ browser_screenshot failed:', e.message); }
28-
// 5. browser_get_content
29-
try {
30-
const result = await codebolt.tools.executeTool('codebolt.browser', 'browser_get_content', {});
31-
console.log('✅ browser_get_content:', result?.success, 'Content:', !!result?.content);
32-
} catch (e) { console.log('⚠️ browser_get_content failed:', e.message); }
33-
// 6. browser_scroll
34-
try {
35-
const result = await codebolt.tools.executeTool('codebolt.browser', 'browser_scroll', { direction: 'down', amount: 100 });
36-
console.log('✅ browser_scroll:', result?.success);
37-
} catch (e) { console.log('⚠️ browser_scroll failed:', e.message); }
8+
// 1. navigate
9+
try {
10+
const result = await codebolt.tools.executeTool('codebolt.browser', 'navigate', { url: 'https://example.com' });
11+
console.log('✅ navigate:', result?.success, 'URL:', result?.currentUrl);
12+
} catch (e) { console.log('⚠️ navigate failed:', e.message); }
13+
// 2. click
14+
try {
15+
const result = await codebolt.tools.executeTool('codebolt.browser', 'click', { selector: 'body' });
16+
console.log('✅ click:', result?.success);
17+
} catch (e) { console.log('⚠️ click failed:', e.message); }
18+
// 3. type
19+
try {
20+
const result = await codebolt.tools.executeTool('codebolt.browser', 'type', { selector: 'input', text: 'test' });
21+
console.log('✅ type:', result?.success);
22+
} catch (e) { console.log('⚠️ type failed:', e.message); }
23+
// 4. screenshot
24+
try {
25+
const result = await codebolt.tools.executeTool('codebolt.browser', 'screenshot', { fullPage: true });
26+
console.log('✅ screenshot:', result?.success, 'Screenshot:', !!result?.screenshot);
27+
} catch (e) { console.log('⚠️ screenshot failed:', e.message); }
28+
// 5. get_content
29+
try {
30+
const result = await codebolt.tools.executeTool('codebolt.browser', 'get_content', {});
31+
console.log('✅ get_content:', result?.success, 'Content:', !!result?.content);
32+
} catch (e) { console.log('⚠️ get_content failed:', e.message); }
33+
// 6. scroll
34+
try {
35+
const result = await codebolt.tools.executeTool('codebolt.browser', 'scroll', { direction: 'down', amount: 100 });
36+
console.log('✅ scroll:', result?.success);
37+
} catch (e) { console.log('⚠️ scroll failed:', e.message); }
38+
// 7. new_page
39+
try {
40+
const result = await codebolt.tools.executeTool('codebolt.browser', 'new_page', {});
41+
console.log('✅ new_page:', result?.success);
42+
} catch (e) { console.log('⚠️ new_page failed:', e.message); }
43+
// 8. get_url
44+
try {
45+
const result = await codebolt.tools.executeTool('codebolt.browser', 'get_url', {});
46+
console.log('✅ get_url:', result?.success, 'URL:', result?.url);
47+
} catch (e) { console.log('⚠️ get_url failed:', e.message); }
48+
// 9. get_html
49+
try {
50+
const result = await codebolt.tools.executeTool('codebolt.browser', 'get_html', {});
51+
console.log('✅ get_html:', result?.success, 'HTML Length:', result?.html?.length);
52+
} catch (e) { console.log('⚠️ get_html failed:', e.message); }
53+
// 10. get_markdown
54+
try {
55+
const result = await codebolt.tools.executeTool('codebolt.browser', 'get_markdown', {});
56+
console.log('✅ get_markdown:', result?.success, 'Markdown Length:', result?.markdown?.length);
57+
} catch (e) { console.log('⚠️ get_markdown failed:', e.message); }
58+
// 11. extract_text
59+
try {
60+
const result = await codebolt.tools.executeTool('codebolt.browser', 'extract_text', {});
61+
console.log('✅ extract_text:', result?.success, 'Text Length:', result?.text?.length);
62+
} catch (e) { console.log('⚠️ extract_text failed:', e.message); }
63+
// 12. get_snapshot
64+
try {
65+
const result = await codebolt.tools.executeTool('codebolt.browser', 'get_snapshot', {});
66+
console.log('✅ get_snapshot:', result?.success);
67+
} catch (e) { console.log('⚠️ get_snapshot failed:', e.message); }
68+
// 13. get_info
69+
try {
70+
const result = await codebolt.tools.executeTool('codebolt.browser', 'get_info', {});
71+
console.log('✅ get_info:', result?.success, 'Info:', result?.info);
72+
} catch (e) { console.log('⚠️ get_info failed:', e.message); }
73+
// 14. search
74+
try {
75+
const result = await codebolt.tools.executeTool('codebolt.browser', 'search', { selector: 'input', query: 'test query' });
76+
console.log('✅ search:', result?.success);
77+
} catch (e) { console.log('⚠️ search failed:', e.message); }
78+
// 15. enter
79+
try {
80+
const result = await codebolt.tools.executeTool('codebolt.browser', 'enter', {});
81+
console.log('✅ enter:', result?.success);
82+
} catch (e) { console.log('⚠️ enter failed:', e.message); }
83+
// 16. close
84+
try {
85+
const result = await codebolt.tools.executeTool('codebolt.browser', 'close', {});
86+
console.log('✅ close:', result?.success);
87+
} catch (e) { console.log('⚠️ close failed:', e.message); }
3888
console.log('🎉 Browser MCP tools tests completed!');
3989
} catch (e) {
4090
console.error('❌ Browser MCP tools test error:', e.message);
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
const codebolt = require('@codebolt/codeboltjs');
2+
3+
async function testChatHistoryMCPTools() {
4+
console.log('💬 Testing Chat History MCP Tools');
5+
console.log('===================================');
6+
await codebolt.waitForConnection();
7+
try {
8+
// 1. chat_summarize_all
9+
try {
10+
const result = await codebolt.tools.executeTool('codebolt.chat', 'chat_summarize_all', {});
11+
console.log('✅ chat_summarize_all:', result?.success, 'Summary:', !!result?.data);
12+
} catch (e) { console.log('⚠️ chat_summarize_all failed:', e.message); }
13+
// 2. chat_summarize
14+
try {
15+
const sampleMessages = [
16+
{ sender: 'user', text: 'Hello, how are you?' },
17+
{ sender: 'assistant', text: 'I am fine, thank you! How can I help you today?' },
18+
{ sender: 'user', text: 'Summarize our conversation.' }
19+
];
20+
const result = await codebolt.tools.executeTool('codebolt.chat', 'chat_summarize', { messages: sampleMessages, depth: 1 });
21+
console.log('✅ chat_summarize:', result?.success, 'Summary:', !!result?.data);
22+
} catch (e) { console.log('⚠️ chat_summarize failed:', e.message); }
23+
console.log('🎉 Chat History MCP tools tests completed!');
24+
} catch (e) {
25+
console.error('❌ Chat History MCP tools test error:', e.message);
26+
}
27+
}
28+
29+
testChatHistoryMCPTools();
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
const codebolt = require('@codebolt/codeboltjs');
2+
3+
async function testCodebaseMCPTools() {
4+
console.log('🔍 Testing Codebase MCP Tools');
5+
console.log('============================');
6+
await codebolt.waitForConnection();
7+
try {
8+
// 1. Test codebase_search
9+
try {
10+
const result = await codebolt.tools.executeTool('codebolt.codebase', 'codebase_search', {
11+
query: 'function testCodebaseMCPTools'
12+
});
13+
console.log('✅ codebase_search:', result, 'Results:', result?.results?.length || 0);
14+
} catch (e) {
15+
console.log('⚠️ codebase_search failed:', e.message);
16+
}
17+
18+
// // 2. Test search_mcp_tool
19+
try {
20+
const result = await codebolt.tools.executeTool('codebolt.codebase', 'search_mcp_tool', {
21+
query: 'test'
22+
});
23+
console.log('✅ search_mcp_tool:', result, 'Results:', result?.results?.length || 0);
24+
} catch (e) {
25+
console.log('⚠️ search_mcp_tool failed:', e.message);
26+
}
27+
28+
// // Test codebase_search with empty query (should fail)
29+
// try {
30+
// const result = await codebolt.tools.executeTool('codebolt.codebase', 'codebase_search', {
31+
// query: '',
32+
// target_directories: ['./testcases/tests']
33+
// });
34+
// console.log('❌ codebase_search with empty query should fail but succeeded');
35+
// } catch (e) {
36+
// console.log('✅ codebase_search correctly failed with empty query:', e.message);
37+
// }
38+
39+
// // Test search_mcp_tool with empty query (should fail)
40+
// try {
41+
// const result = await codebolt.tools.executeTool('codebolt.codebase', 'search_mcp_tool', {
42+
// query: '',
43+
// tags: []
44+
// });
45+
// console.log('❌ search_mcp_tool with empty query should fail but succeeded');
46+
// } catch (e) {
47+
// console.log('✅ search_mcp_tool correctly failed with empty query:', e.message);
48+
// }
49+
50+
console.log('🎉 Codebase MCP tools tests completed!');
51+
} catch (e) {
52+
console.error('❌ Codebase MCP tools test error:', e.message);
53+
}
54+
}
55+
56+
testCodebaseMCPTools();

testcases/tests/mcp_tools/codebase-search-mcp-test.js

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
const codebolt = require('@codebolt/codeboltjs');
2+
3+
async function testConfigMCPTools() {
4+
console.log('⚙️ Testing Config MCP Tools');
5+
console.log('==========================');
6+
await codebolt.waitForConnection();
7+
try {
8+
// 1. configure_mcp with valid parameters
9+
try {
10+
const result = await codebolt.tools.executeTool('codebolt.config', 'configure_mcp', {
11+
serverName: 'filesystem',
12+
config: {
13+
command: "npx",
14+
args: [
15+
"-y",
16+
"@modelcontextprotocol/server-filesystem",
17+
"/path/to/other/allowed/dir"
18+
]
19+
}
20+
});
21+
console.log('✅ configure_mcp:', result?.success, 'Config:', !!result?.data);
22+
} catch (e) { console.log('⚠️ configure_mcp failed:', e.message); }
23+
24+
// 2. configure_mcp with missing config (should fail)
25+
try {
26+
const result = await codebolt.tools.executeTool('codebolt.config', 'configure_mcp', {
27+
serverName: 'filesystem'
28+
});
29+
console.log('❌ configure_mcp (missing config) should have failed but did not:', result);
30+
} catch (e) { console.log('✅ Expected failure for missing config:', e.message); }
31+
32+
// 3. configure_mcp with missing serverName (should fail)
33+
try {
34+
const result = await codebolt.tools.executeTool('codebolt.config', 'configure_mcp', {
35+
config: {
36+
command: "npx",
37+
args: ["-y", "@modelcontextprotocol/server-filesystem"]
38+
}
39+
});
40+
console.log('❌ configure_mcp (missing serverName) should have failed but did not:', result);
41+
} catch (e) { console.log('✅ Expected failure for missing serverName:', e.message); }
42+
43+
console.log('🎉 Config MCP tools tests completed!');
44+
} catch (e) {
45+
console.error('❌ Config MCP tools test error:', e.message);
46+
}
47+
}
48+
49+
testConfigMCPTools();
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
const codebolt = require('@codebolt/codeboltjs');
2+
3+
async function testProjectMCPTools() {
4+
console.log('📁 Testing Project MCP Tools');
5+
console.log('============================');
6+
await codebolt.waitForConnection();
7+
try {
8+
// 1. project_get_path
9+
try {
10+
const result = await codebolt.tools.executeTool('codebolt.project', 'project_get_path', {});
11+
console.log('✅ project_get_path:', result?.success, 'Path:', result?.data);
12+
} catch (e) { console.log('⚠️ project_get_path failed:', e.message); }
13+
// 2. project_get_settings
14+
try {
15+
const result = await codebolt.tools.executeTool('codebolt.project', 'project_get_settings', {});
16+
console.log('✅ project_get_settings:', result?.success, 'Settings:', !!result?.data);
17+
} catch (e) { console.log('⚠️ project_get_settings failed:', e.message); }
18+
// 3. project_get_repo_map
19+
try {
20+
const result = await codebolt.tools.executeTool('codebolt.project', 'project_get_repo_map', {});
21+
console.log('✅ project_get_repo_map:', result?.success, 'RepoMap:', !!result?.data);
22+
} catch (e) { console.log('⚠️ project_get_repo_map failed:', e.message); }
23+
// 4. project_get_editor_status
24+
try {
25+
const result = await codebolt.tools.executeTool('codebolt.project', 'project_get_editor_status', {});
26+
console.log('✅ project_get_editor_status:', result?.success, 'Status:', !!result?.data);
27+
} catch (e) { console.log('⚠️ project_get_editor_status failed:', e.message); }
28+
console.log('🎉 Project MCP tools tests completed!');
29+
} catch (e) {
30+
console.error('❌ Project MCP tools test error:', e.message);
31+
}
32+
}
33+
34+
testProjectMCPTools();

0 commit comments

Comments
 (0)