strava-activity-mcp-server 0.1.6__tar.gz → 0.1.7__tar.gz

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: strava-activity-mcp-server
3
- Version: 0.1.6
3
+ Version: 0.1.7
4
4
  Summary: Trying to implement environment variables for client_id
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.10
@@ -1,18 +1,18 @@
1
- [project]
2
- name = "strava-activity-mcp-server"
3
- version = "0.1.6"
4
- description = "Trying to implement environment variables for client_id"
5
- readme = "README.md"
6
- requires-python = ">=3.10"
7
- dependencies = [
8
- "build>=1.3.0",
9
- "mcp[cli]>=1.16.0",
10
- "twine>=6.2.0",
11
- ]
12
-
13
- [project.scripts]
14
- strava-activity-mcp-server = "strava_activity_mcp_server:main"
15
-
16
- [build-system]
17
- requires = ["hatchling"]
18
- build-backend = "hatchling.build"
1
+ [project]
2
+ name = "strava-activity-mcp-server"
3
+ version = "0.1.7"
4
+ description = "Trying to implement environment variables for client_id"
5
+ readme = "README.md"
6
+ requires-python = ">=3.10"
7
+ dependencies = [
8
+ "build>=1.3.0",
9
+ "mcp[cli]>=1.16.0",
10
+ "twine>=6.2.0",
11
+ ]
12
+
13
+ [project.scripts]
14
+ strava-activity-mcp-server = "strava_activity_mcp_server:main"
15
+
16
+ [build-system]
17
+ requires = ["hatchling"]
18
+ build-backend = "hatchling.build"
@@ -1,4 +1,4 @@
1
- from .strava_activity_mcp_server import mcp
2
- def main() -> None:
3
- """Run the MCP server."""
1
+ from .strava_activity_mcp_server import mcp
2
+ def main() -> None:
3
+ """Run the MCP server."""
4
4
  mcp.run()
@@ -34,14 +34,30 @@ def get_auth_url(client_id: int | None = None):
34
34
  @mcp.tool("strava://auth/token")
35
35
  def exchange_code_for_token(
36
36
  code: str,
37
- client_id: int,
38
- client_secret: str,
37
+ client_id: int | None = None,
38
+ client_secret: str | None = None,
39
39
  ) -> dict:
40
40
  """Exchange an authorization code for access + refresh tokens."""
41
41
  if not code:
42
42
  return {"error": "authorization code is required"}
43
- if not client_secret:
44
- return {"error": "client_secret is required"}
43
+
44
+ if client_id is None:
45
+ client_id_env = os.getenv("STRAVA_CLIENT_ID")
46
+ if not client_id_env:
47
+ return {"error": "STRAVA_CLIENT_ID environment variable is not set"}
48
+ try:
49
+ client_id = int(client_id_env)
50
+ except ValueError:
51
+ return {"error": "STRAVA_CLIENT_ID must be an integer"}
52
+
53
+ if client_secret is None:
54
+ client_secret_env = os.getenv("STRAVA_CLIENT_SECRET")
55
+ if not client_secret_env:
56
+ return {"error": "STRAVA_CLIENT_SECRET environment variable is not set"}
57
+ try:
58
+ client_secret = str(client_secret_env)
59
+ except ValueError:
60
+ return {"error": "STRAVA_CLIENT_SECRET must be a string"}
45
61
 
46
62
  resp = requests.post(
47
63
  "https://www.strava.com/oauth/token",
@@ -1031,7 +1031,7 @@ wheels = [
1031
1031
 
1032
1032
  [[package]]
1033
1033
  name = "strava-activity-mcp-server"
1034
- version = "0.1.6"
1034
+ version = "0.1.7"
1035
1035
  source = { editable = "." }
1036
1036
  dependencies = [
1037
1037
  { name = "build" },