awslabs.prometheus-mcp-server 0.1.1__py3-none-any.whl → 0.2.1__py3-none-any.whl
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.
- awslabs/prometheus_mcp_server/__init__.py +1 -1
- awslabs/prometheus_mcp_server/models.py +8 -66
- awslabs/prometheus_mcp_server/server.py +856 -418
- {awslabs_prometheus_mcp_server-0.1.1.dist-info → awslabs_prometheus_mcp_server-0.2.1.dist-info}/METADATA +55 -15
- awslabs_prometheus_mcp_server-0.2.1.dist-info/RECORD +11 -0
- awslabs_prometheus_mcp_server-0.1.1.dist-info/RECORD +0 -11
- {awslabs_prometheus_mcp_server-0.1.1.dist-info → awslabs_prometheus_mcp_server-0.2.1.dist-info}/WHEEL +0 -0
- {awslabs_prometheus_mcp_server-0.1.1.dist-info → awslabs_prometheus_mcp_server-0.2.1.dist-info}/entry_points.txt +0 -0
- {awslabs_prometheus_mcp_server-0.1.1.dist-info → awslabs_prometheus_mcp_server-0.2.1.dist-info}/licenses/LICENSE +0 -0
- {awslabs_prometheus_mcp_server-0.1.1.dist-info → awslabs_prometheus_mcp_server-0.2.1.dist-info}/licenses/NOTICE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: awslabs.prometheus-mcp-server
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.1
|
|
4
4
|
Summary: MCP server for interacting with AWS Managed Prometheus
|
|
5
5
|
Project-URL: homepage, https://awslabs.github.io/mcp/
|
|
6
6
|
Project-URL: docs, https://awslabs.github.io/mcp/servers/prometheus-mcp-server/
|
|
@@ -47,6 +47,8 @@ This MCP server is designed to be fully compatible with Amazon Q developer CLI,
|
|
|
47
47
|
|
|
48
48
|
## Installation
|
|
49
49
|
|
|
50
|
+
[](https://cursor.com/install-mcp?name=awslabs.prometheus-mcp-server&config=eyJjb21tYW5kIjoidXZ4IGF3c2xhYnMucHJvbWV0aGV1cy1tY3Atc2VydmVyQGxhdGVzdCAtLXVybCBodHRwczovL2Fwcy13b3Jrc3BhY2VzLnVzLWVhc3QtMS5hbWF6b25hd3MuY29tL3dvcmtzcGFjZXMvd3MtPFdvcmtzcGFjZSBJRD4gLS1yZWdpb24gPFlvdXIgQVdTIFJlZ2lvbj4gLS1wcm9maWxlIDxZb3VyIENMSSBQcm9maWxlIFtkZWZhdWx0XSBpZiBubyBwcm9maWxlIGlzIHVzZWQ%2BIiwiZW52Ijp7IkZBU1RNQ1BfTE9HX0xFVkVMIjoiREVCVUciLCJBV1NfUFJPRklMRSI6IjxZb3VyIENMSSBQcm9maWxlIFtkZWZhdWx0XSBpZiBubyBwcm9maWxlIGlzIHVzZWQ%2BIn19)
|
|
51
|
+
|
|
50
52
|
### Prerequisites
|
|
51
53
|
|
|
52
54
|
- Python 3.10 or higher
|
|
@@ -69,23 +71,41 @@ mkdir -p ~/.aws/amazonq/
|
|
|
69
71
|
```
|
|
70
72
|
|
|
71
73
|
2. Add the following to `~/.aws/amazonq/mcp.json`:
|
|
74
|
+
|
|
75
|
+
### Basic Configuration
|
|
76
|
+
```json
|
|
77
|
+
{
|
|
78
|
+
"mcpServers": {
|
|
79
|
+
"prometheus": {
|
|
80
|
+
"command": "uvx",
|
|
81
|
+
"args": [
|
|
82
|
+
"awslabs.prometheus-mcp-server@latest"
|
|
83
|
+
],
|
|
84
|
+
"env": {
|
|
85
|
+
"FASTMCP_LOG_LEVEL": "DEBUG"
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### Configuration with Optional Arguments
|
|
72
93
|
```json
|
|
73
94
|
{
|
|
74
95
|
"mcpServers": {
|
|
75
|
-
"
|
|
96
|
+
"prometheus": {
|
|
76
97
|
"command": "uvx",
|
|
77
98
|
"args": [
|
|
78
99
|
"awslabs.prometheus-mcp-server@latest",
|
|
79
100
|
"--url",
|
|
80
|
-
"https://aps-workspaces
|
|
101
|
+
"https://aps-workspaces.<AWS Region>.amazonaws.com/workspaces/ws-<Workspace ID>",
|
|
81
102
|
"--region",
|
|
82
103
|
"<Your AWS Region>",
|
|
83
104
|
"--profile",
|
|
84
|
-
"<Your CLI Profile
|
|
105
|
+
"<Your CLI Profile>"
|
|
85
106
|
],
|
|
86
107
|
"env": {
|
|
87
|
-
"FASTMCP_LOG_LEVEL": "DEBUG"
|
|
88
|
-
"AWS_PROFILE": "<Your CLI Profile [default] if no profile is used>"
|
|
108
|
+
"FASTMCP_LOG_LEVEL": "DEBUG"
|
|
89
109
|
}
|
|
90
110
|
}
|
|
91
111
|
}
|
|
@@ -96,30 +116,46 @@ mkdir -p ~/.aws/amazonq/
|
|
|
96
116
|
|
|
97
117
|
## Available Tools
|
|
98
118
|
|
|
99
|
-
1. **
|
|
119
|
+
1. **GetAvailableWorkspaces**
|
|
120
|
+
- List all available Prometheus workspaces in the specified region
|
|
121
|
+
- Parameters: region (optional)
|
|
122
|
+
- Returns: List of workspaces with IDs, aliases, and status
|
|
123
|
+
|
|
124
|
+
2. **ExecuteQuery**
|
|
100
125
|
- Execute instant PromQL queries against Prometheus
|
|
101
|
-
- Parameters: query (required), time (optional)
|
|
126
|
+
- Parameters: workspace_id (required), query (required), time (optional), region (optional)
|
|
102
127
|
|
|
103
|
-
|
|
128
|
+
3. **ExecuteRangeQuery**
|
|
104
129
|
- Execute PromQL queries over a time range
|
|
105
|
-
- Parameters: query, start time, end time, step interval
|
|
130
|
+
- Parameters: workspace_id (required), query, start time, end time, step interval, region (optional)
|
|
106
131
|
|
|
107
|
-
|
|
132
|
+
4. **ListMetrics**
|
|
108
133
|
- Retrieve all available metric names from Prometheus
|
|
134
|
+
- Parameters: workspace_id (required), region (optional)
|
|
109
135
|
- Returns: Sorted list of metric names
|
|
110
136
|
|
|
111
|
-
|
|
137
|
+
5. **GetServerInfo**
|
|
112
138
|
- Retrieve server configuration details
|
|
139
|
+
- Parameters: workspace_id (required), region (optional)
|
|
113
140
|
- Returns: URL, region, profile, and service information
|
|
114
141
|
|
|
115
142
|
## Example Queries
|
|
116
143
|
|
|
117
144
|
```python
|
|
145
|
+
# Get available workspaces
|
|
146
|
+
workspaces = await get_available_workspaces()
|
|
147
|
+
for ws in workspaces['workspaces']:
|
|
148
|
+
print(f"ID: {ws['workspace_id']}, Alias: {ws['alias']}, Status: {ws['status']}")
|
|
149
|
+
|
|
118
150
|
# Execute an instant query
|
|
119
|
-
result = await execute_query(
|
|
151
|
+
result = await execute_query(
|
|
152
|
+
workspace_id="ws-12345678-abcd-1234-efgh-123456789012",
|
|
153
|
+
query="up"
|
|
154
|
+
)
|
|
120
155
|
|
|
121
156
|
# Execute a range query
|
|
122
157
|
data = await execute_range_query(
|
|
158
|
+
workspace_id="ws-12345678-abcd-1234-efgh-123456789012",
|
|
123
159
|
query="rate(node_cpu_seconds_total[5m])",
|
|
124
160
|
start="2023-01-01T00:00:00Z",
|
|
125
161
|
end="2023-01-01T01:00:00Z",
|
|
@@ -127,10 +163,14 @@ data = await execute_range_query(
|
|
|
127
163
|
)
|
|
128
164
|
|
|
129
165
|
# List available metrics
|
|
130
|
-
metrics = await list_metrics(
|
|
166
|
+
metrics = await list_metrics(
|
|
167
|
+
workspace_id="ws-12345678-abcd-1234-efgh-123456789012"
|
|
168
|
+
)
|
|
131
169
|
|
|
132
170
|
# Get server information
|
|
133
|
-
info = await get_server_info(
|
|
171
|
+
info = await get_server_info(
|
|
172
|
+
workspace_id="ws-12345678-abcd-1234-efgh-123456789012"
|
|
173
|
+
)
|
|
134
174
|
```
|
|
135
175
|
|
|
136
176
|
## Troubleshooting
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
awslabs/__init__.py,sha256=O4wlFva3THWmjfaXfJAwi29mxJSKIhM0jcebVfd3S5U,615
|
|
2
|
+
awslabs/prometheus_mcp_server/__init__.py,sha256=5IA_Tu-_9Y_SEzlcDrt9JQhlDIOXR86l3Z45K5YgNuo,676
|
|
3
|
+
awslabs/prometheus_mcp_server/consts.py,sha256=ZkZsypCBRvVuT17llXmD9GFqtC5Qi-6wrEBQuaIsq9M,1875
|
|
4
|
+
awslabs/prometheus_mcp_server/models.py,sha256=dfF9iUUtvmNiVWdKR-2RhkBIWqnBf33u_wM-6BWiPss,1837
|
|
5
|
+
awslabs/prometheus_mcp_server/server.py,sha256=-Gp0iWkCdGuf59W6qNXA5LKX4tsX24vE_XLmWS6GqEw,42086
|
|
6
|
+
awslabs_prometheus_mcp_server-0.2.1.dist-info/METADATA,sha256=OX9MRYv46osZ4nS6-C0lknASjH5BujuzYDHzeY-qEtg,6640
|
|
7
|
+
awslabs_prometheus_mcp_server-0.2.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
8
|
+
awslabs_prometheus_mcp_server-0.2.1.dist-info/entry_points.txt,sha256=vOT5qHrh2r_C0eht0Iu42IOBCeWaBlZ6bud_-0jbuFg,92
|
|
9
|
+
awslabs_prometheus_mcp_server-0.2.1.dist-info/licenses/LICENSE,sha256=CeipvOyAZxBGUsFoaFqwkx54aPnIKEtm9a5u2uXxEws,10142
|
|
10
|
+
awslabs_prometheus_mcp_server-0.2.1.dist-info/licenses/NOTICE,sha256=4WcOZNSeVgbIVslS5AjRYmqYyv5S3xHylu2kSEXgXeQ,30
|
|
11
|
+
awslabs_prometheus_mcp_server-0.2.1.dist-info/RECORD,,
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
awslabs/__init__.py,sha256=O4wlFva3THWmjfaXfJAwi29mxJSKIhM0jcebVfd3S5U,615
|
|
2
|
-
awslabs/prometheus_mcp_server/__init__.py,sha256=s1zDdDhGr3NBV69b-JNnE1zkUYfOQSCTZaEU7zIA1wU,676
|
|
3
|
-
awslabs/prometheus_mcp_server/consts.py,sha256=ZkZsypCBRvVuT17llXmD9GFqtC5Qi-6wrEBQuaIsq9M,1875
|
|
4
|
-
awslabs/prometheus_mcp_server/models.py,sha256=yU7Ta7Ei0DItUJY4t3QDFwSNk8xkBQ-Hwynej_IC080,4231
|
|
5
|
-
awslabs/prometheus_mcp_server/server.py,sha256=ev74dNSwsTGRnidrqRPW5sWd2giyy5W1heRxLq9WrcE,23294
|
|
6
|
-
awslabs_prometheus_mcp_server-0.1.1.dist-info/METADATA,sha256=U45KUHnYFUbpBuOmkIri-6h_Hbg0ji55ISxITt1dYiw,5038
|
|
7
|
-
awslabs_prometheus_mcp_server-0.1.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
8
|
-
awslabs_prometheus_mcp_server-0.1.1.dist-info/entry_points.txt,sha256=vOT5qHrh2r_C0eht0Iu42IOBCeWaBlZ6bud_-0jbuFg,92
|
|
9
|
-
awslabs_prometheus_mcp_server-0.1.1.dist-info/licenses/LICENSE,sha256=CeipvOyAZxBGUsFoaFqwkx54aPnIKEtm9a5u2uXxEws,10142
|
|
10
|
-
awslabs_prometheus_mcp_server-0.1.1.dist-info/licenses/NOTICE,sha256=4WcOZNSeVgbIVslS5AjRYmqYyv5S3xHylu2kSEXgXeQ,30
|
|
11
|
-
awslabs_prometheus_mcp_server-0.1.1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|