@impart-security/impart-mcp 0.1.3 → 0.2.1
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 +76 -35
- package/dist/index.js +1031 -745
- package/dist/test/integration.test.d.ts +1 -0
- package/dist/test/integration.test.js +262 -0
- package/dist/test/rule-recipe.test.d.ts +1 -0
- package/dist/test/rule-recipe.test.js +278 -0
- package/dist/test/smoke.test.d.ts +1 -0
- package/dist/test/smoke.test.js +37 -0
- package/dist/types.d.ts +1588 -86
- package/dist/types.js +127 -0
- package/package.json +20 -12
- package/dist/client.d.ts +0 -4
- package/dist/client.js +0 -38
package/README.md
CHANGED
|
@@ -6,12 +6,13 @@ A Model Context Protocol (MCP) implementation for interacting with Impart's API.
|
|
|
6
6
|
## Features
|
|
7
7
|
|
|
8
8
|
- Rules Script Management
|
|
9
|
+
- Rule Recipe Management
|
|
9
10
|
- API Bindings Management
|
|
10
11
|
- Endpoint Inventory
|
|
11
12
|
- Tag Management
|
|
12
13
|
- Observed Hosts Monitoring
|
|
13
14
|
- Specification Management
|
|
14
|
-
- List
|
|
15
|
+
- List Management
|
|
15
16
|
- Inspector Management
|
|
16
17
|
|
|
17
18
|
|
|
@@ -23,45 +24,65 @@ You'll need to set up the following environment variables:
|
|
|
23
24
|
|
|
24
25
|
## Available Tools
|
|
25
26
|
|
|
26
|
-
|
|
27
|
-
- `list_rules_scripts` - Get a list of rules scripts
|
|
28
|
-
- `get_rules_script` - Get details of a specific rules script
|
|
29
|
-
- `create_rules_script` - Create a new rules script
|
|
30
|
-
- `update_rules_script` - Update an existing rules script
|
|
31
|
-
- `validate_rules_script` - Validate a rules script
|
|
32
|
-
- `write_rule_script` - Generate a rule script using Sparkle API
|
|
27
|
+
This MCP server provides **26 tools** for managing Impart Security through the Model Context Protocol. All tools are automatically suffixed with your organization ID (e.g., `list_inspectors_d3ce`).
|
|
33
28
|
|
|
34
|
-
###
|
|
35
|
-
-
|
|
36
|
-
- `create_api_binding` - Create a new API binding
|
|
29
|
+
### Inspectors
|
|
30
|
+
- **`list_inspectors`** - Get a list of inspectors for the organization
|
|
37
31
|
|
|
38
|
-
###
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
- `get_spec` - Get details of a specific spec
|
|
32
|
+
### Rules Scripts
|
|
33
|
+
- **`list_rules_scripts`** - Get a list of rules scripts with filtering options (type, labels, disabled status)
|
|
34
|
+
- **`get_rules_script`** - Get details of a specific rules script including source code and revisions
|
|
42
35
|
|
|
43
|
-
###
|
|
44
|
-
-
|
|
45
|
-
-
|
|
36
|
+
### Rule Recipes (AI-Powered)
|
|
37
|
+
- **`list_rule_recipes`** - Get a list of rule recipes with search filtering
|
|
38
|
+
- **`get_rule_recipe`** - Get complete details of a specific rule recipe including components
|
|
39
|
+
- **`generate_rule_recipe`** ✨ - Generate rule recipe configurations using Impart's AI (Sparkle)
|
|
40
|
+
- **`create_rule_recipe`** - Create a new rule recipe from a configuration (typically from generate_rule_recipe)
|
|
46
41
|
|
|
47
|
-
###
|
|
48
|
-
-
|
|
49
|
-
-
|
|
42
|
+
### API Specs & Endpoints
|
|
43
|
+
- **`list_specs`** - Get a list of API specifications with search filtering
|
|
44
|
+
- **`get_spec`** - Get details of a specific API spec including revision history
|
|
45
|
+
- **`list_endpoints`** - Get inventory of API endpoints with extensive filtering (deprecated status, source, tags, methods, labels)
|
|
50
46
|
|
|
51
|
-
###
|
|
52
|
-
-
|
|
53
|
-
-
|
|
54
|
-
- `create_list` - Create a new list
|
|
55
|
-
- `update_list_items` - Update items in a list
|
|
56
|
-
- `create_label` - Create a new label
|
|
57
|
-
- `list_labels` - Get a list of labels
|
|
47
|
+
### API Bindings
|
|
48
|
+
- **`list_api_bindings`** - Get a list of API bindings with filtering by spec or collection
|
|
49
|
+
- **`create_api_binding`** - Create new API bindings for connecting specs to infrastructure
|
|
58
50
|
|
|
59
|
-
###
|
|
60
|
-
-
|
|
51
|
+
### Tags & Metrics
|
|
52
|
+
- **`list_tags`** - Get a list of tags with label filtering
|
|
53
|
+
- **`get_tag_metrics`** - Get timeseries metrics for tags (HTTP requests, attacks, blocks, etc.) with flexible time ranges and rollup options
|
|
61
54
|
|
|
55
|
+
### Observed Hosts
|
|
56
|
+
- **`list_observed_hosts`** - Get a list of observed hosts in your infrastructure
|
|
57
|
+
- **`get_observed_host`** - Get detailed information about a specific observed host
|
|
58
|
+
|
|
59
|
+
### Lists (Allow/Block Lists)
|
|
60
|
+
- **`list_lists`** - Get a list of lists with filtering by kind (ip, string, uuid, country, path, asn), subkind, and labels
|
|
61
|
+
- **`get_list_items`** - Get items from a specific list with pagination
|
|
62
|
+
- **`create_list`** - Create new lists for IP addresses, strings, UUIDs, countries, paths, or ASNs
|
|
63
|
+
- **`update_list_items`** - Update items in an existing list
|
|
64
|
+
|
|
65
|
+
### Labels
|
|
66
|
+
- **`list_labels`** - Get a list of labels with search filtering
|
|
67
|
+
- **`create_label`** - Create new labels with customizable colors and display names
|
|
68
|
+
|
|
69
|
+
### Test Cases
|
|
70
|
+
- **`list_test_cases`** - Get a list of rules test cases for validating rule behavior
|
|
71
|
+
- **`get_test_case`** - Get detailed information about a specific test case
|
|
72
|
+
|
|
73
|
+
### HTTP Requests (Traffic Analysis)
|
|
74
|
+
- **`get_requests`** - Get HTTP requests captured by Impart with extensive filtering options:
|
|
75
|
+
- Time ranges (relative like `-1d`, `-24h` or absolute timestamps)
|
|
76
|
+
- Status codes, tags, IPs, external request IDs, rule IDs
|
|
77
|
+
- API specs, collections, endpoints
|
|
78
|
+
- Pagination with up to 1000 results per request
|
|
79
|
+
- Sort order (ascending/descending)
|
|
80
|
+
- Data source selection (PostgreSQL or ClickHouse)
|
|
81
|
+
- **`get_request_details`** - Get complete details of a specific HTTP request including headers, body, and processing information
|
|
62
82
|
|
|
63
83
|
## Connecting to MCP Clients
|
|
64
84
|
|
|
85
|
+
|
|
65
86
|
### Claude Desktop
|
|
66
87
|
|
|
67
88
|
To use Impart MCP with Claude Desktop, you'll need to configure the MCP server in Claude's configuration file. Here's how:
|
|
@@ -82,7 +103,6 @@ To use Impart MCP with Claude Desktop, you'll need to configure the MCP server i
|
|
|
82
103
|
"impart": {
|
|
83
104
|
"command": "npx",
|
|
84
105
|
"args": [
|
|
85
|
-
"-y",
|
|
86
106
|
"@impart-security/impart-mcp"
|
|
87
107
|
],
|
|
88
108
|
"env": {
|
|
@@ -118,10 +138,7 @@ Add the Impart MCP server configuration:
|
|
|
118
138
|
"mcpServers": {
|
|
119
139
|
"impart": {
|
|
120
140
|
"command": "npx",
|
|
121
|
-
"args": [
|
|
122
|
-
"-y",
|
|
123
|
-
"@impart-security/impart-mcp"
|
|
124
|
-
],
|
|
141
|
+
"args": ["@impart-security/impart-mcp"],
|
|
125
142
|
"env": {
|
|
126
143
|
"IMPART_AUTH_TOKEN": "your_auth_token"
|
|
127
144
|
}
|
|
@@ -132,10 +149,34 @@ Add the Impart MCP server configuration:
|
|
|
132
149
|
|
|
133
150
|
Make sure to update the environment variables with your Impart credentials.
|
|
134
151
|
|
|
152
|
+
## Testing
|
|
153
|
+
|
|
154
|
+
Comprehensive test suite with regression tests for all critical fixes.
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
# Run all tests
|
|
158
|
+
npm run build
|
|
159
|
+
cd testing
|
|
160
|
+
./test-all.sh
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
**For complete testing documentation**, see [testing/TESTING.md](./testing/TESTING.md)
|
|
164
|
+
|
|
165
|
+
Quick links:
|
|
166
|
+
- [Testing Guide](./testing/TESTING.md) - Complete guide with all fixes documented
|
|
167
|
+
- [Claude Desktop Setup](./testing/CLAUDE_DESKTOP_SETUP.md) - Integration guide
|
|
168
|
+
- [Sample Outputs](./testing/SAMPLE_OUTPUTS.md) - Real API examples
|
|
169
|
+
|
|
135
170
|
## Contributing
|
|
136
171
|
|
|
137
172
|
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
138
173
|
|
|
174
|
+
When contributing:
|
|
175
|
+
1. Run `npm run build` to compile
|
|
176
|
+
2. Run `cd testing && ./test-all.sh` to verify tests pass
|
|
177
|
+
3. Add tests for new features or bug fixes
|
|
178
|
+
4. Update documentation
|
|
179
|
+
|
|
139
180
|
## License
|
|
140
181
|
|
|
141
182
|
ISC
|