Skip to content

Commit 5c507b5

Browse files
sd2kokianusioanarm
committed
chore: add MCPB manifest
Addresses #290. Co-authored-by: okianus <[email protected]> Co-authored-by: Ioanna Armouti <[email protected]>
1 parent e737149 commit 5c507b5

File tree

2 files changed

+337
-0
lines changed

2 files changed

+337
-0
lines changed

img/grafana_icon.svg

Lines changed: 57 additions & 0 deletions
Loading

manifest.json

Lines changed: 280 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,280 @@
1+
{
2+
"manifest_version": "0.1",
3+
"name": "grafana",
4+
"version": "0.6.5",
5+
"description": "An MCP server giving access to Grafana dashboards, data and more.",
6+
"author": {
7+
"name": "Ben Sully",
8+
"email": "[email protected]"
9+
},
10+
"support": "https://github.com/grafana/mcp-grafana/issues",
11+
"icon": "img/grafana_icon.svg",
12+
"server": {
13+
"type": "binary",
14+
"entry_point": "dist/mcp-grafana",
15+
"mcp_config": {
16+
"command": "${__dirname}/dist/mcp-grafana",
17+
"args": [],
18+
"env": {
19+
"GRAFANA_URL": "${user_config.grafana_url}",
20+
"GRAFANA_SERVICE_ACCOUNT_TOKEN": "${user_config.grafana_service_account_token}",
21+
"GRAFANA_USERNAME": "${user_config.grafana_username}",
22+
"GRAFANA_PASSWORD": "${user_config.grafana_password}"
23+
}
24+
}
25+
},
26+
"tools": [
27+
{
28+
"name": "list_teams",
29+
"description": "List all teams",
30+
"readOnlyHint": true
31+
},
32+
{
33+
"name": "list_users_by_org",
34+
"description": "List all users in an organization",
35+
"readOnlyHint": true
36+
},
37+
{
38+
"name": "search_dashboards",
39+
"description": "Search for dashboards",
40+
"readOnlyHint": true
41+
},
42+
{
43+
"name": "get_dashboard_by_uid",
44+
"description": "Get a dashboard by uid",
45+
"readOnlyHint": true
46+
},
47+
{
48+
"name": "update_dashboard",
49+
"description": "Update or create a new dashboard",
50+
"destructiveHint": true
51+
},
52+
{
53+
"name": "get_dashboard_panel_queries",
54+
"description": "Get panel title, queries, datasource UID and type from a dashboard",
55+
"readOnlyHint": true
56+
},
57+
{
58+
"name": "get_dashboard_property",
59+
"description": "Extract specific parts of a dashboard using JSONPath expressions",
60+
"readOnlyHint": true
61+
},
62+
{
63+
"name": "get_dashboard_summary",
64+
"description": "Get a compact summary of a dashboard without full JSON",
65+
"readOnlyHint": true
66+
},
67+
{
68+
"name": "list_datasources",
69+
"description": "List datasources",
70+
"readOnlyHint": true
71+
},
72+
{
73+
"name": "get_datasource_by_uid",
74+
"description": "Get a datasource by uid",
75+
"readOnlyHint": true
76+
},
77+
{
78+
"name": "get_datasource_by_name",
79+
"description": "Get a datasource by name",
80+
"readOnlyHint": true
81+
},
82+
{
83+
"name": "query_prometheus",
84+
"description": "Execute a query against a Prometheus datasource",
85+
"readOnlyHint": true
86+
},
87+
{
88+
"name": "list_prometheus_metric_metadata",
89+
"description": "List metric metadata",
90+
"readOnlyHint": true
91+
},
92+
{
93+
"name": "list_prometheus_metric_names",
94+
"description": "List available metric names",
95+
"readOnlyHint": true
96+
},
97+
{
98+
"name": "list_prometheus_label_names",
99+
"description": "List label names matching a selector",
100+
"readOnlyHint": true
101+
},
102+
{
103+
"name": "list_prometheus_label_values",
104+
"description": "List values for a specific label",
105+
"readOnlyHint": true
106+
},
107+
{
108+
"name": "list_incidents",
109+
"description": "List incidents in Grafana Incident",
110+
"readOnlyHint": true
111+
},
112+
{
113+
"name": "create_incident",
114+
"description": "Create an incident in Grafana Incident",
115+
"destructiveHint": true
116+
},
117+
{
118+
"name": "add_activity_to_incident",
119+
"description": "Add an activity item to an incident in Grafana Incident",
120+
"destructiveHint": true
121+
},
122+
{
123+
"name": "get_incident",
124+
"description": "Get a single incident by ID",
125+
"readOnlyHint": true
126+
},
127+
{
128+
"name": "query_loki_logs",
129+
"description": "Query and retrieve logs using LogQL (either log or metric queries)",
130+
"readOnlyHint": true
131+
},
132+
{
133+
"name": "list_loki_label_names",
134+
"description": "List all available label names in logs",
135+
"readOnlyHint": true
136+
},
137+
{
138+
"name": "list_loki_label_values",
139+
"description": "List values for a specific log label",
140+
"readOnlyHint": true
141+
},
142+
{
143+
"name": "query_loki_stats",
144+
"description": "Get statistics about log streams",
145+
"readOnlyHint": true
146+
},
147+
{
148+
"name": "list_alert_rules",
149+
"description": "List alert rules",
150+
"readOnlyHint": true
151+
},
152+
{
153+
"name": "get_alert_rule_by_uid",
154+
"description": "Get alert rule by UID",
155+
"readOnlyHint": true
156+
},
157+
{
158+
"name": "list_contact_points",
159+
"description": "List notification contact points",
160+
"readOnlyHint": true
161+
},
162+
{
163+
"name": "list_oncall_schedules",
164+
"description": "List schedules from Grafana OnCall",
165+
"readOnlyHint": true
166+
},
167+
{
168+
"name": "get_oncall_shift",
169+
"description": "Get details for a specific OnCall shift",
170+
"readOnlyHint": true
171+
},
172+
{
173+
"name": "get_current_oncall_users",
174+
"description": "Get users currently on-call for a specific schedule",
175+
"readOnlyHint": true
176+
},
177+
{
178+
"name": "list_oncall_teams",
179+
"description": "List teams from Grafana OnCall",
180+
"readOnlyHint": true
181+
},
182+
{
183+
"name": "list_oncall_users",
184+
"description": "List users from Grafana OnCall",
185+
"readOnlyHint": true
186+
},
187+
{
188+
"name": "get_sift_investigation",
189+
"description": "Retrieve an existing Sift investigation by its UUID",
190+
"readOnlyHint": true
191+
},
192+
{
193+
"name": "get_sift_analysis",
194+
"description": "Retrieve a specific analysis from a Sift investigation",
195+
"readOnlyHint": true
196+
},
197+
{
198+
"name": "list_sift_investigations",
199+
"description": "Retrieve a list of Sift investigations with an optional limit",
200+
"readOnlyHint": true
201+
},
202+
{
203+
"name": "find_error_pattern_logs",
204+
"description": "Finds elevated error patterns in Loki logs.",
205+
"readOnlyHint": true
206+
},
207+
{
208+
"name": "find_slow_requests",
209+
"description": "Finds slow requests from the relevant tempo datasources.",
210+
"readOnlyHint": true
211+
},
212+
{
213+
"name": "list_pyroscope_label_names",
214+
"description": "List label names matching a selector",
215+
"readOnlyHint": true
216+
},
217+
{
218+
"name": "list_pyroscope_label_values",
219+
"description": "List label values matching a selector for a label name",
220+
"readOnlyHint": true
221+
},
222+
{
223+
"name": "list_pyroscope_profile_types",
224+
"description": "List available profile types",
225+
"readOnlyHint": true
226+
},
227+
{
228+
"name": "fetch_pyroscope_profile",
229+
"description": "Fetches a profile in DOT format for analysis",
230+
"readOnlyHint": true
231+
},
232+
{
233+
"name": "get_assertions",
234+
"description": "Get assertion summary for a given entity",
235+
"readOnlyHint": true
236+
},
237+
{
238+
"name": "generate_deeplink",
239+
"description": "Generate accurate deeplink URLs for Grafana resources",
240+
"readOnlyHint": true
241+
}
242+
],
243+
"user_config": {
244+
"grafana_url": {
245+
"type": "string",
246+
"title": "Grafana URL",
247+
"description": "URL to your Grafana instance",
248+
"required": true,
249+
"sensitive": false
250+
},
251+
"grafana_service_account_token": {
252+
"type": "string",
253+
"title": "Grafana service account token",
254+
"description": "Service account token used to authenticate with your Grafana instance",
255+
"required": false,
256+
"sensitive": true
257+
},
258+
"grafana_username": {
259+
"type": "string",
260+
"title": "Grafana username",
261+
"description": "Username to authenticate with your Grafana instance",
262+
"required": false,
263+
"sensitive": false
264+
},
265+
"grafana_password": {
266+
"type": "string",
267+
"title": "Grafana password",
268+
"description": "Password to authenticate with your Grafana instance",
269+
"required": false,
270+
"sensitive": true
271+
}
272+
},
273+
"keywords": ["grafana", "observability", "instrumentation"],
274+
"license": "Apache-2.0",
275+
"privacy_policies": [],
276+
"repository": {
277+
"type": "git",
278+
"url": "https://github.com/grafana/mcp-grafana"
279+
}
280+
}

0 commit comments

Comments
 (0)