@selfagency/teamdynamix-mcp 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,187 @@
1
+ # teamdynamix-mcp
2
+
3
+ A TypeScript [Model Context Protocol](https://modelcontextprotocol.io/) (MCP) server that exposes [TeamDynamix](https://www.teamdynamix.com/) ITSM capabilities as agent-callable tools. Designed for AI agents and MCP clients that need structured, safety-gated access to TeamDynamix operations.
4
+
5
+ ## Features
6
+
7
+ - **11 domain gateway tools** that route validated actions across discovery,
8
+ tickets, relationships, KB, assets, CMDB, people, services, projects,
9
+ time, and reference data
10
+ - **Safe by default**: write tools disabled until explicitly opted in;
11
+ destructive operations require `confirm: true`
12
+ - **Two auth modes**: standard (username/password) and admin (BEID/WebServicesKey)
13
+ - **Rate-limit aware**: auto-retry with backoff on 429 responses
14
+ - **Zod-validated inputs**: schema enforcement before any API call
15
+ - **Agent skill and prompt included**: ready-to-use skill definition for
16
+ GitHub Copilot and compatible agents
17
+
18
+ ## Quick start (developer setup)
19
+
20
+ This quick start is for contributors running the server from source in this
21
+ repository. If you are a regular MCP client user, skip to
22
+ [MCP client configuration](#mcp-client-configuration) and use the `npx`
23
+ command examples.
24
+
25
+ ```sh
26
+ # 1. Clone the repository
27
+ git clone https://github.com/selfagency/teamdynamix-mcp.git
28
+ cd teamdynamix-mcp
29
+
30
+ # 2. Install dependencies
31
+ pnpm install
32
+
33
+ # 3. Configure environment
34
+ cp .env.example .env
35
+ # Edit .env with your TeamDynamix credentials and base URL
36
+
37
+ # 4. Start the development server
38
+ pnpm dev
39
+ ```
40
+
41
+ ### Minimum required environment variables
42
+
43
+ ```sh
44
+ TEAMDYNAMIX_BASE_URL=https://your-tenant.teamdynamix.com/TDWebApi
45
+ TEAMDYNAMIX_AUTH_MODE=standard # or: admin
46
+ TEAMDYNAMIX_USERNAME=you@example.com # standard mode
47
+ TEAMDYNAMIX_PASSWORD=your-password # standard mode
48
+ ```
49
+
50
+ For admin mode, use `TEAMDYNAMIX_BEID` and `TEAMDYNAMIX_WEB_SERVICES_KEY` instead.
51
+
52
+ ## MCP client configuration
53
+
54
+ ### VS Code (`.vscode/mcp.json`)
55
+
56
+ ```json
57
+ {
58
+ "servers": {
59
+ "teamdynamix": {
60
+ "type": "stdio",
61
+ "command": "npx",
62
+ "args": ["-y", "@selfagency/teamdynamix-mcp"],
63
+ "env": {
64
+ "TEAMDYNAMIX_BASE_URL": "https://your-tenant.teamdynamix.com/TDWebApi",
65
+ "TEAMDYNAMIX_AUTH_MODE": "standard",
66
+ "TEAMDYNAMIX_USERNAME": "you@example.com",
67
+ "TEAMDYNAMIX_PASSWORD": "your-password"
68
+ }
69
+ }
70
+ }
71
+ }
72
+ ```
73
+
74
+ ### Claude Desktop (`claude_desktop_config.json`)
75
+
76
+ ```json
77
+ {
78
+ "mcpServers": {
79
+ "teamdynamix": {
80
+ "command": "npx",
81
+ "args": ["-y", "@selfagency/teamdynamix-mcp"],
82
+ "env": {
83
+ "TEAMDYNAMIX_BASE_URL": "https://your-tenant.teamdynamix.com/TDWebApi",
84
+ "TEAMDYNAMIX_AUTH_MODE": "standard",
85
+ "TEAMDYNAMIX_USERNAME": "you@example.com",
86
+ "TEAMDYNAMIX_PASSWORD": "your-password"
87
+ }
88
+ }
89
+ }
90
+ }
91
+ ```
92
+
93
+ ### Production (built bundle)
94
+
95
+ ```sh
96
+ pnpm build # outputs to dist/
97
+ ```
98
+
99
+ ```json
100
+ {
101
+ "command": "npx",
102
+ "args": ["-y", "@selfagency/teamdynamix-mcp"]
103
+ }
104
+ ```
105
+
106
+ ### Verify connectivity
107
+
108
+ After connecting your MCP client, call `teamdynamix_discovery` with:
109
+
110
+ - `action: "server_status"`
111
+ - `payload: {}`
112
+ - `response_format: "json"`
113
+
114
+ A successful response shows `status.configured: true`.
115
+
116
+ ## Domain gateway tools
117
+
118
+ Each gateway tool accepts:
119
+
120
+ - `action`: domain-specific operation name
121
+ - `payload`: object for that action’s parameters
122
+ - `response_format`: `"markdown"` or `"json"`
123
+
124
+ | Domain | Gateway tool |
125
+ | -------------------- | ---------------------------------- |
126
+ | Discovery | `teamdynamix_discovery` |
127
+ | Tickets | `teamdynamix_tickets` |
128
+ | Ticket relationships | `teamdynamix_ticket_relationships` |
129
+ | Knowledge Base | `teamdynamix_knowledge_base` |
130
+ | Assets | `teamdynamix_assets` |
131
+ | CMDB | `teamdynamix_cmdb` |
132
+ | People | `teamdynamix_people` |
133
+ | Services | `teamdynamix_services` |
134
+ | Projects | `teamdynamix_projects` |
135
+ | Time | `teamdynamix_time` |
136
+ | Reference data | `teamdynamix_reference_data` |
137
+
138
+ † Requires `confirm: true` in addition to write tools being enabled.
139
+
140
+ All write/mutating actions require `TEAMDYNAMIX_ENABLE_WRITE_TOOLS=true`.
141
+
142
+ ## Safety defaults
143
+
144
+ | Flag | Default | Effect when `true` |
145
+ | -------------------------------- | ------- | ------------------------------------------------ |
146
+ | `TEAMDYNAMIX_ENABLE_WRITE_TOOLS` | `false` | Enables all create/update/comment/mutation tools |
147
+ | `TEAMDYNAMIX_ENABLE_ADMIN_TOOLS` | `false` | Enables admin-scope operations |
148
+
149
+ Destructive unlink operations additionally require `confirm: true` in the
150
+ tool call regardless of write flag state.
151
+
152
+ ## Agent skill
153
+
154
+ This repository ships a GitHub Copilot-compatible skill definition:
155
+
156
+ - **Skill**: [`skills/teamdynamix/SKILL.md`](skills/teamdynamix/SKILL.md)
157
+ — ID-first workflow patterns, safety branching rules, runbooks,
158
+ gotchas, and tool catalog
159
+ - **Agent prompt**:
160
+ [`prompts/teamdynamix-agent.prompt.md`](prompts/teamdynamix-agent.prompt.md)
161
+ — system prompt for agent mode with TeamDynamix context
162
+
163
+ Install the skill via your Copilot skill configuration
164
+ (see `skills/teamdynamix/SKILL.md` for full details).
165
+
166
+ ## Documentation
167
+
168
+ | Section | Purpose |
169
+ | ----------------------------------------------- | ------------------------------------------------------------ |
170
+ | [Tutorials](docs/tutorials/index.md) | Step-by-step setup and first workflows |
171
+ | [How-to guides](docs/how-to/index.md) | Task-oriented recipes for real operations |
172
+ | [Reference](docs/reference/index.md) | Exhaustive tool catalog, configuration, safety model, errors |
173
+ | [Explanation](docs/explanation/index.md) | Architecture, auth model, safety rationale, rate limiting |
174
+ | [Development](docs/development/architecture.md) | Architecture, contributing, testing |
175
+
176
+ ## Development
177
+
178
+ ```sh
179
+ pnpm typecheck # TypeScript strict checks
180
+ pnpm lint # oxlint
181
+ pnpm test # vitest (194 tests, 87% coverage)
182
+ pnpm build # tsup → dist/
183
+ ```
184
+
185
+ ## License
186
+
187
+ MIT © [Daniel Sieradski](https://self.agency)
package/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ #!/usr/bin/env node