generated from loonghao/repo-template
-
Notifications
You must be signed in to change notification settings - Fork 17
Expand file tree
/
Copy pathsmithery.yaml
More file actions
124 lines (112 loc) · 2.89 KB
/
smithery.yaml
File metadata and controls
124 lines (112 loc) · 2.89 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
# Smithery configuration file: https://smithery.ai/docs/config#smitheryyaml
name: wecom-bot-mcp-server
displayName: WeCom Bot MCP Server
description: A Python server for WeCom (WeChat Work) bot following the Model Context Protocol (MCP)
version: 0.11.0
author: longhao <hal.long@outlook.com>
license: MIT
repository: https://github.com/loonghao/wecom-bot-mcp-server
icon: wecom.png
category: Communication
startCommand:
type: stdio
configSchema:
type: object
required:
- wecomWebhookUrl
properties:
wecomWebhookUrl:
type: string
description: The WeCom bot webhook URL for sending messages
logLevel:
type: string
enum: [DEBUG, INFO, WARNING, ERROR, CRITICAL]
default: INFO
description: Log level for the server
logFile:
type: string
description: Custom log file path (optional)
commandFunction:
# A function that produces the CLI command to start the MCP on stdio.
|-
config => ({
command: 'uvx',
args: ['wecom-bot-mcp-server'],
env: {
WECOM_WEBHOOK_URL: config.wecomWebhookUrl,
MCP_LOG_LEVEL: config.logLevel,
MCP_LOG_FILE: config.logFile
}
})
installation:
type: pip
package: wecom-bot-mcp-server
requirements:
- mcp>=1.3.0
- notify-bridge>=0.6.1
- httpx>=0.28.1
- pydantic>=2.6.1
- platformdirs>=4.2.0
- ftfy>=6.3.1
- pillow>=10.2.0
- circuitbreaker>=2.0.0
- tenacity>=9.0.0
- loguru>=0.7.3
- aiohttp>=3.11.13
- backoff>=2.2.1
- uvicorn>=0.34.0
capabilities:
- send_message:
description: Send messages to WeCom
alwaysAllow: true
- send_markdown:
description: Send markdown formatted messages
alwaysAllow: true
- send_image:
description: Send image messages (base64)
alwaysAllow: true
- send_file:
description: Send file messages
alwaysAllow: true
- mention_users:
description: Mention users in messages
alwaysAllow: true
documentation:
usage: |
Send messages to WeCom using various formats:
- Text messages
- Markdown messages
- Image messages (base64)
- File messages
Examples:
```python
# Send text message
await mcp.send_message(
content="Hello, World!",
msg_type="text",
mentioned_list=["user1", "user2"]
)
# Send markdown message
await mcp.send_message(
content="## Meeting Reminder\n\nTime: 3:00 PM\nLocation: Room A",
msg_type="markdown"
)
# Send image
with open("image.png", "rb") as f:
base64_content = base64.b64encode(f.read()).decode()
await mcp.send_message(
content=base64_content,
msg_type="image"
)
# Send file
await mcp.send_message(
content=Path("document.pdf"),
msg_type="file"
)
```
compatibility:
os:
- windows
- linux
- macos
python: "^3.10"