Skip to content

Commit c65acb7

Browse files
authored
Export MCP register tools functions (#631)
1 parent 2bb2a16 commit c65acb7

File tree

5 files changed

+32
-13
lines changed

5 files changed

+32
-13
lines changed

.changeset/famous-masks-cheat.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@openzeppelin/contracts-mcp': minor
3+
---
4+
5+
Export functions to register MCP tools

.changeset/loud-clowns-divide.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@openzeppelin/wizard-common': minor
3+
---
4+
5+
Bump minor version for semantic versioning stability

packages/mcp/package.json

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,9 @@
55
"license": "AGPL-3.0-only",
66
"repository": "https://github.com/OpenZeppelin/contracts-wizard",
77
"main": "dist/index.js",
8+
"types": "dist/index.d.ts",
89
"bin": {
9-
"contracts-mcp": "dist/index.js"
10+
"contracts-mcp": "dist/cli.js"
1011
},
1112
"ts:main": "src/index.ts",
1213
"files": [
@@ -37,4 +38,4 @@
3738
"ava": "^6.0.0",
3839
"ts-node": "^10.4.0"
3940
}
40-
}
41+
}

packages/mcp/src/cli.ts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
#!/usr/bin/env node
2+
3+
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4+
import { createServer } from './server';
5+
6+
async function main() {
7+
const transport = new StdioServerTransport();
8+
const server = createServer();
9+
await server.connect(transport);
10+
}
11+
12+
main().catch(error => {
13+
console.error('Failed to start OpenZeppelin Contracts MCP Server:', error);
14+
process.exit(1);
15+
});

packages/mcp/src/index.ts

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,4 @@
1-
#!/usr/bin/env node
2-
3-
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4-
import { createServer } from './server';
5-
6-
// Start receiving messages on stdin and sending messages on stdout
7-
const transport = new StdioServerTransport();
8-
(async () => {
9-
const server = createServer();
10-
await server.connect(transport);
11-
})();
1+
export { registerSolidityTools } from './solidity/tools';
2+
export { registerCairoTools } from './cairo/tools';
3+
export { registerStellarTools } from './stellar/tools';
4+
export { registerStylusTools } from './stylus/tools';

0 commit comments

Comments
 (0)