Skip to content

Commit 7f14e80

Browse files
Add local testing, manual test bash script
1 parent a7d37d2 commit 7f14e80

20 files changed

+987
-168
lines changed

.gitignore

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,6 @@
11
dist/
22
node_modules/
33
*log
4-
tests.md
4+
tests.md
5+
*.apk
6+
*.ipa

package-lock.json

Lines changed: 142 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
"@modelcontextprotocol/sdk": "^1.10.1",
1919
"@types/form-data": "^2.5.2",
2020
"axios": "^1.8.4",
21+
"browserstack-local": "^1.5.6",
2122
"dotenv": "^16.5.0",
2223
"form-data": "^4.0.2",
2324
"pino": "^9.6.0",

src/config.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ if (
77
);
88
}
99

10-
class Config {
10+
export class Config {
1111
constructor(
1212
public readonly browserstackUsername: string,
1313
public readonly browserstackAccessKey: string,

src/index.ts

Lines changed: 14 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,15 @@ import logger from "./logger";
66
import addSDKTools from "./tools/bstack-sdk";
77
import addAppLiveTools from "./tools/applive";
88
import addObservabilityTools from "./tools/observability";
9-
10-
logger.info(
11-
"Launching BrowserStack MCP server, version %s",
12-
packageJson.version,
13-
);
9+
import addBrowserLiveTools from "./tools/live";
10+
import addAccessibilityTools from "./tools/accessibility";
1411

1512
function registerTools(server: McpServer) {
1613
addSDKTools(server);
1714
addAppLiveTools(server);
15+
addBrowserLiveTools(server);
1816
addObservabilityTools(server);
17+
addAccessibilityTools(server);
1918
}
2019

2120
// Create an MCP server
@@ -27,6 +26,11 @@ const server: McpServer = new McpServer({
2726
registerTools(server);
2827

2928
async function main() {
29+
logger.info(
30+
"Launching BrowserStack MCP server, version %s",
31+
packageJson.version,
32+
);
33+
3034
// Start receiving messages on stdin and sending messages on stdout
3135
const transport = new StdioServerTransport();
3236
await server.connect(transport);
@@ -35,3 +39,8 @@ async function main() {
3539
}
3640

3741
main().catch(console.error);
42+
43+
// Ensure logs are flushed before exit
44+
process.on("exit", () => {
45+
logger.flush();
46+
});

0 commit comments

Comments
 (0)