Skip to content

Commit 3713157

Browse files
committed
AgentMail environment
1 parent 655b282 commit 3713157

File tree

3 files changed

+31
-6
lines changed

3 files changed

+31
-6
lines changed

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "agentmail-mcp",
3-
"version": "0.1.6",
3+
"version": "0.1.7",
44
"description": "AgentMail MCP Server",
55
"type": "module",
66
"bin": {
@@ -35,6 +35,7 @@
3535
},
3636
"dependencies": {
3737
"@modelcontextprotocol/sdk": "^1.12.1",
38+
"agentmail": "^0.0.34",
3839
"agentmail-toolkit": "^0.1.24"
3940
}
4041
}

pnpm-lock.yaml

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

src/index.ts

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,11 @@
11
#!/usr/bin/env node
2+
import { AgentMailClient, AgentMailEnvironment } from 'agentmail'
3+
import { AgentMailToolkit } from 'agentmail-toolkit/mcp'
4+
25
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js'
36
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
47

5-
import { AgentMailToolkit } from 'agentmail-toolkit/mcp'
6-
7-
function parseToolsArg(): string[] | undefined {
8+
const parseToolsArg = () => {
89
const args = process.argv.slice(2)
910

1011
const toolsIndex = args.indexOf('--tools')
@@ -19,11 +20,31 @@ function parseToolsArg(): string[] | undefined {
1920
return toolsArg.split(',').map((tool) => tool.trim())
2021
}
2122

22-
async function main() {
23+
const parseAgentMailEnv = () => {
24+
const env = process.env.AGENTMAIL_ENVIRONMENT?.toLowerCase()
25+
26+
switch (env) {
27+
case 'development':
28+
case 'dev':
29+
return AgentMailEnvironment.Development
30+
case 'production':
31+
case 'prod':
32+
default:
33+
return AgentMailEnvironment.Production
34+
}
35+
}
36+
37+
const main = async () => {
38+
const environment = parseAgentMailEnv()
39+
const toolNames = parseToolsArg()
40+
41+
const client = new AgentMailClient({ environment })
42+
const toolkit = new AgentMailToolkit(client)
43+
2344
const server = new McpServer({ name: 'AgentMail', version: '0.1.0' })
2445
const transport = new StdioServerTransport()
2546

26-
for (const tool of new AgentMailToolkit().getTools(parseToolsArg())) {
47+
for (const tool of toolkit.getTools(toolNames)) {
2748
server.tool(tool.name, tool.description, tool.paramsSchema, tool.callback)
2849
}
2950

0 commit comments

Comments
 (0)