golf-mcp 0.1.6__py3-none-any.whl → 0.1.8__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.
Potentially problematic release.
This version of golf-mcp might be problematic. Click here for more details.
- golf/__init__.py +1 -1
- golf/auth/api_key.py +19 -4
- golf/core/builder.py +233 -278
- golf/core/builder_auth.py +153 -37
- golf/core/builder_telemetry.py +44 -179
- golf/core/telemetry.py +50 -8
- golf/examples/api_key/.env +2 -0
- golf/examples/api_key/.env.example +5 -0
- golf/examples/api_key/README.md +21 -7
- golf/examples/api_key/golf.json +3 -1
- golf/examples/api_key/pre_build.py +2 -1
- golf/examples/basic/.env +3 -1
- golf/examples/basic/.env.example +3 -1
- golf/examples/basic/golf.json +3 -1
- golf/telemetry/__init__.py +19 -0
- golf/telemetry/instrumentation.py +540 -0
- {golf_mcp-0.1.6.dist-info → golf_mcp-0.1.8.dist-info}/METADATA +41 -2
- {golf_mcp-0.1.6.dist-info → golf_mcp-0.1.8.dist-info}/RECORD +22 -18
- {golf_mcp-0.1.6.dist-info → golf_mcp-0.1.8.dist-info}/WHEEL +0 -0
- {golf_mcp-0.1.6.dist-info → golf_mcp-0.1.8.dist-info}/entry_points.txt +0 -0
- {golf_mcp-0.1.6.dist-info → golf_mcp-0.1.8.dist-info}/licenses/LICENSE +0 -0
- {golf_mcp-0.1.6.dist-info → golf_mcp-0.1.8.dist-info}/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: golf-mcp
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.8
|
|
4
4
|
Summary: Framework for building MCP servers
|
|
5
5
|
Author-email: Antoni Gmitruk <antoni@golf.dev>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -177,6 +177,11 @@ The `golf.json` file is the heart of your Golf project configuration. Here's wha
|
|
|
177
177
|
// - "sse": Server-Sent Events (recommended for web clients)
|
|
178
178
|
// - "streamable-http": HTTP with streaming support
|
|
179
179
|
// - "stdio": Standard I/O (for CLI integration)
|
|
180
|
+
|
|
181
|
+
// OpenTelemetry Configuration (optional)
|
|
182
|
+
"opentelemetry_enabled": false, // Enable distributed tracing
|
|
183
|
+
"opentelemetry_default_exporter": "console" // Default exporter if OTEL_TRACES_EXPORTER not set
|
|
184
|
+
// Options: "console", "otlp_http"
|
|
180
185
|
}
|
|
181
186
|
```
|
|
182
187
|
|
|
@@ -188,12 +193,46 @@ The `golf.json` file is the heart of your Golf project configuration. Here's wha
|
|
|
188
193
|
- `"streamable-http"` provides HTTP streaming for traditional API clients
|
|
189
194
|
- `"stdio"` enables integration with command-line tools and scripts
|
|
190
195
|
- **`host` & `port`**: Control where your server listens. Use `"127.0.0.1"` for local development or `"0.0.0.0"` to accept external connections.
|
|
196
|
+
- **`opentelemetry_enabled`**: When true, enables distributed tracing for debugging and monitoring your MCP server
|
|
197
|
+
- **`opentelemetry_default_exporter`**: Sets the default trace exporter. Can be overridden by the `OTEL_TRACES_EXPORTER` environment variable
|
|
198
|
+
|
|
199
|
+
## Features
|
|
200
|
+
|
|
201
|
+
### 🔍 OpenTelemetry Support
|
|
202
|
+
|
|
203
|
+
Golf includes built-in OpenTelemetry instrumentation for distributed tracing. When enabled, it automatically traces:
|
|
204
|
+
- Tool executions with arguments and results
|
|
205
|
+
- Resource reads and template expansions
|
|
206
|
+
- Prompt generations
|
|
207
|
+
- HTTP requests and sessions
|
|
208
|
+
|
|
209
|
+
#### Configuration
|
|
210
|
+
|
|
211
|
+
Enable OpenTelemetry in your `golf.json`:
|
|
212
|
+
```json
|
|
213
|
+
{
|
|
214
|
+
"opentelemetry_enabled": true,
|
|
215
|
+
"opentelemetry_default_exporter": "otlp_http"
|
|
216
|
+
}
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
Then configure via environment variables:
|
|
220
|
+
```bash
|
|
221
|
+
# For OTLP HTTP exporter (e.g., Jaeger, Grafana Tempo)
|
|
222
|
+
OTEL_TRACES_EXPORTER=otlp_http
|
|
223
|
+
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318/v1/traces
|
|
224
|
+
OTEL_SERVICE_NAME=my-golf-server # Optional, defaults to project name
|
|
225
|
+
|
|
226
|
+
# For console exporter (debugging)
|
|
227
|
+
OTEL_TRACES_EXPORTER=console
|
|
228
|
+
```
|
|
229
|
+
|
|
230
|
+
**Note**: When using the OTLP HTTP exporter, you must set `OTEL_EXPORTER_OTLP_ENDPOINT`. If not configured, Golf will display a warning and disable tracing to avoid errors.
|
|
191
231
|
|
|
192
232
|
## Roadmap
|
|
193
233
|
|
|
194
234
|
Here are the things we are working hard on:
|
|
195
235
|
|
|
196
|
-
* **Native OpenTelemetry implementation for tracing**
|
|
197
236
|
* **`golf deploy` command for one click deployments to Vercel, Blaxel and other providers**
|
|
198
237
|
* **Production-ready OAuth token management, to allow for persistent, encrypted token storage and client mapping**
|
|
199
238
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
golf/__init__.py,sha256=
|
|
1
|
+
golf/__init__.py,sha256=1CUarGSwycOh0GKIcMutmmKE9j9E4B6-Jji1lJFY5Aw,21
|
|
2
2
|
golf/auth/__init__.py,sha256=nh22WdganrEtp0YnxX1dmk6euuUFu8zh1BWxi1LGZnI,4107
|
|
3
|
-
golf/auth/api_key.py,sha256=
|
|
3
|
+
golf/auth/api_key.py,sha256=TWJJ1tyVPSp1vN61opn3DdGKfQkTLX2w-YyLO4eeRPk,2495
|
|
4
4
|
golf/auth/helpers.py,sha256=eKUIhdsaxa9bBtU6BaVZszTtS1ZV1v1fzvCkXV__9pM,2965
|
|
5
5
|
golf/auth/oauth.py,sha256=MGtuKMSt77yihuZiuiEm33xAlXJynIMcFmMLZRlppdg,31525
|
|
6
6
|
golf/auth/provider.py,sha256=-iIjw1XruxgpWTrwYBX9dbf_sLPlx5vZxZsM0E4Dp64,3931
|
|
@@ -11,26 +11,28 @@ golf/commands/build.py,sha256=yhcUrK9gHnXNuLPZ2brcmtMgR8wXMBlEBcaBgTKkanI,2295
|
|
|
11
11
|
golf/commands/init.py,sha256=I-fe7PBDX0vfKCLGXMppD7Uo03LzRbx-bCM2Mt3UzdU,7155
|
|
12
12
|
golf/commands/run.py,sha256=dLrjmpypfvInDkA-KgEUyKrTvkvp59yea5tUyxk_Ej4,1989
|
|
13
13
|
golf/core/__init__.py,sha256=RDSMAkB5NDaV7W5OFJ--miqv6JmvM3rI9ashndqM3X4,52
|
|
14
|
-
golf/core/builder.py,sha256=
|
|
15
|
-
golf/core/builder_auth.py,sha256=
|
|
16
|
-
golf/core/builder_telemetry.py,sha256=
|
|
14
|
+
golf/core/builder.py,sha256=C7FUPiQ59EYx6807nRkZoFMyHCrIIqzrk39Da4fo_ew,48037
|
|
15
|
+
golf/core/builder_auth.py,sha256=ySu_nzoUgGYEP-8DCoSFwgoEW6NMFiQ_MP0v6akOEUI,17217
|
|
16
|
+
golf/core/builder_telemetry.py,sha256=v2LnlHRWg9JqgplfZkV3zm1Jpo8QQBr7hlY8NLhlu8o,2694
|
|
17
17
|
golf/core/config.py,sha256=gZ3eE8VIvDgIrLTizNq9XqkgfMkRg8Pm06gSVV51arA,6806
|
|
18
18
|
golf/core/parser.py,sha256=sCVMWO7sGkSaKkU9LiHC3O9CTcrZxUbxnjdtwP7ne_o,19251
|
|
19
|
-
golf/core/telemetry.py,sha256=
|
|
19
|
+
golf/core/telemetry.py,sha256=46eJ92zR3cY2DFQRWFMjIKTBHBRypEaSM-ddS1LUdus,9035
|
|
20
20
|
golf/core/transformer.py,sha256=3mr4_K4l1HZl1WQWSt9NKEhB5oi3b7kJnniseYEfrcI,5573
|
|
21
21
|
golf/examples/__init__.py,sha256=Nqnn8clbgv-5l0PgxcTOldg8mkMKrFn4TvPL-rYUUGg,1
|
|
22
|
-
golf/examples/api_key
|
|
23
|
-
golf/examples/api_key
|
|
24
|
-
golf/examples/api_key/
|
|
22
|
+
golf/examples/api_key/.env,sha256=15dewTdeJEMAIuzQmh1SFc1zEN6PwryWgAc14IV02lY,90
|
|
23
|
+
golf/examples/api_key/.env.example,sha256=k_wpsqp0oRLLRw520NL3VrbJx4KDZclczYBW1YUgjvw,214
|
|
24
|
+
golf/examples/api_key/README.md,sha256=nuc4YIspX_eokoArylBv6rKPv5P8BTq__2YaInidrUk,2892
|
|
25
|
+
golf/examples/api_key/golf.json,sha256=_2ty1kOBZSyR2HMLU_-2CegFkE6U1jY-AiX4Bq664sQ,262
|
|
26
|
+
golf/examples/api_key/pre_build.py,sha256=JfevA986fodhgDv9JEXtgB9mn7SQEXbBaSoGGR9XyYY,469
|
|
25
27
|
golf/examples/api_key/tools/issues/create.py,sha256=b58IadolStcuRxpRdTC_78Kfa4KCvMJSMvAlCouz-Y0,2832
|
|
26
28
|
golf/examples/api_key/tools/issues/list.py,sha256=k2TGEgVCCTs0flHQFRqKQIA2zL39JTlTiUgAymW2gVg,2777
|
|
27
29
|
golf/examples/api_key/tools/repos/list.py,sha256=4Z9ISphjhSZdJ3xqxmwbSo7UvkT368ZiSdyckOZqZnQ,3272
|
|
28
30
|
golf/examples/api_key/tools/search/code.py,sha256=eXpJAmKq0am4oiCZm8vfz9d5NmyxjpnMPcEwrCf8vNo,3025
|
|
29
31
|
golf/examples/api_key/tools/users/get.py,sha256=ifzqLxUr0dX00xscyjwuXCB3n48znu28DQU8MGUor50,2577
|
|
30
|
-
golf/examples/basic/.env,sha256=
|
|
31
|
-
golf/examples/basic/.env.example,sha256=
|
|
32
|
+
golf/examples/basic/.env,sha256=CqdcvPXopWppurJ3bBjT2dODlKUrLv629BHnOy8zBkM,247
|
|
33
|
+
golf/examples/basic/.env.example,sha256=k_wpsqp0oRLLRw520NL3VrbJx4KDZclczYBW1YUgjvw,214
|
|
32
34
|
golf/examples/basic/README.md,sha256=-mY3R6AAnkXT9FPkALDrJtdf9IyKDvuqjsrLAMTLRYI,2663
|
|
33
|
-
golf/examples/basic/golf.json,sha256=
|
|
35
|
+
golf/examples/basic/golf.json,sha256=9qi_J_Q0GD1BjrGKWIzFWkPOA84zBNnya-jJwbFZJ2o,214
|
|
34
36
|
golf/examples/basic/pre_build.py,sha256=VVYtBSCy4Xjg1Ocpl8ZwEr7VCVqPSSkDEzrTfQkAQKY,1037
|
|
35
37
|
golf/examples/basic/prompts/welcome.py,sha256=LgT1eQewe0J08I5WFBv4RrgDr6yn4a4ww6XQ8k3sTVk,822
|
|
36
38
|
golf/examples/basic/resources/current_time.py,sha256=KG28G5tpFGtGH2T5DHFAc-CwbYsFzE115xmGMVpi7fs,1176
|
|
@@ -43,9 +45,11 @@ golf/examples/basic/tools/hello.py,sha256=wJjCYtWfRpTAcNKrlrRibm0UFKLnHFB1sGjR-q
|
|
|
43
45
|
golf/examples/basic/tools/payments/charge.py,sha256=BxgHtVfZA3Z_QhT3OJisKyfGr3ZWBzd-jlgdwkvZaYM,1736
|
|
44
46
|
golf/examples/basic/tools/payments/common.py,sha256=z5shSOZizUEnxBmGUSYghxmNwIvuhg-yfXKIfPWgV04,1292
|
|
45
47
|
golf/examples/basic/tools/payments/refund.py,sha256=3auhKzuwPLgpoyUDz0p8lUWUY_fXNe0RYadQBxEvpB4,1603
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
golf_mcp-0.1.
|
|
49
|
-
golf_mcp-0.1.
|
|
50
|
-
golf_mcp-0.1.
|
|
51
|
-
golf_mcp-0.1.
|
|
48
|
+
golf/telemetry/__init__.py,sha256=TFinunN7eFKEHMFUXjPBpz-JzuEu59QzrXwgg85YlQs,397
|
|
49
|
+
golf/telemetry/instrumentation.py,sha256=520owHHBHlm819XD4FJ2dXrGbmGAjOMBXRREJJRgt7o,22890
|
|
50
|
+
golf_mcp-0.1.8.dist-info/licenses/LICENSE,sha256=5_j2f6fTJmvfmUewzElhkpAaXg2grVoxKouOA8ihV6E,11348
|
|
51
|
+
golf_mcp-0.1.8.dist-info/METADATA,sha256=5c7Pi2JDpq1vU9sIV4PSlFCZ9KIy1zw-D8CsCs2-Pdg,10909
|
|
52
|
+
golf_mcp-0.1.8.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
|
|
53
|
+
golf_mcp-0.1.8.dist-info/entry_points.txt,sha256=5y7rHYM8jGpU-nfwdknCm5XsApLulqsnA37MO6BUTYg,43
|
|
54
|
+
golf_mcp-0.1.8.dist-info/top_level.txt,sha256=BQToHcBUufdyhp9ONGMIvPE40jMEtmI20lYaKb4hxOg,5
|
|
55
|
+
golf_mcp-0.1.8.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|