somm-mcp 0.6.1__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.
@@ -0,0 +1,38 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+ *.egg-info/
6
+ *.egg
7
+ build/
8
+ dist/
9
+
10
+ # Environments
11
+ .venv/
12
+ .env
13
+ .env.*
14
+
15
+ # Tooling caches
16
+ .pytest_cache/
17
+ .mypy_cache/
18
+ .ruff_cache/
19
+
20
+ # Local Claude session id log (per-machine, not source of truth)
21
+ sessions.txt
22
+
23
+ # Local data (never commit telemetry)
24
+ .somm/
25
+ *.sqlite
26
+ *.sqlite-wal
27
+ *.sqlite-shm
28
+
29
+ # Author-local notes not for open source
30
+ notes/
31
+ .claude/
32
+
33
+ # Editor
34
+ .vscode/
35
+ .idea/
36
+ *.swp
37
+
38
+ # Archived internal design/process docs (see docs/BLUEPRINT.md for the public design doc)
@@ -0,0 +1,34 @@
1
+ Metadata-Version: 2.4
2
+ Name: somm-mcp
3
+ Version: 0.6.1
4
+ Summary: somm MCP server — exposes telemetry + recommendations to coding agents
5
+ Project-URL: Homepage, https://github.com/lavallee/somm
6
+ Project-URL: Repository, https://github.com/lavallee/somm
7
+ Project-URL: Issues, https://github.com/lavallee/somm/issues
8
+ Project-URL: Changelog, https://github.com/lavallee/somm/blob/main/CHANGELOG.md
9
+ Author: Marc Lavallee
10
+ License: MIT
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Programming Language :: Python :: 3.12
14
+ Classifier: Programming Language :: Python :: 3.13
15
+ Classifier: Topic :: Software Development :: Libraries
16
+ Requires-Python: >=3.12
17
+ Requires-Dist: mcp>=1.2
18
+ Requires-Dist: somm-core==0.6.1
19
+ Requires-Dist: somm==0.6.1
20
+ Description-Content-Type: text/markdown
21
+
22
+ # somm-mcp
23
+
24
+ MCP server for [somm](https://github.com/lavallee/somm) — lets
25
+ MCP-capable coding agents (Claude Code, Cursor, Windsurf) query your
26
+ real LLM telemetry and the cross-project sommelier.
27
+
28
+ Ships 10 stdio tools: somm_stats, somm_search_calls, somm_recommend,
29
+ somm_register_workload, somm_register_prompt, somm_compare,
30
+ somm_replay, somm_advise, somm_record_decision, somm_search_decisions.
31
+
32
+ ```json
33
+ { "command": "somm-mcp", "env": { "SOMM_PROJECT": "my_app" } }
34
+ ```
@@ -0,0 +1,13 @@
1
+ # somm-mcp
2
+
3
+ MCP server for [somm](https://github.com/lavallee/somm) — lets
4
+ MCP-capable coding agents (Claude Code, Cursor, Windsurf) query your
5
+ real LLM telemetry and the cross-project sommelier.
6
+
7
+ Ships 10 stdio tools: somm_stats, somm_search_calls, somm_recommend,
8
+ somm_register_workload, somm_register_prompt, somm_compare,
9
+ somm_replay, somm_advise, somm_record_decision, somm_search_decisions.
10
+
11
+ ```json
12
+ { "command": "somm-mcp", "env": { "SOMM_PROJECT": "my_app" } }
13
+ ```
@@ -0,0 +1,36 @@
1
+ [project]
2
+ name = "somm-mcp"
3
+ version = "0.6.1"
4
+ description = "somm MCP server — exposes telemetry + recommendations to coding agents"
5
+ requires-python = ">=3.12"
6
+ license = { text = "MIT" }
7
+ readme = "README.md"
8
+ authors = [{ name = "Marc Lavallee" }]
9
+ classifiers = [
10
+ "Development Status :: 4 - Beta",
11
+ "License :: OSI Approved :: MIT License",
12
+ "Programming Language :: Python :: 3.12",
13
+ "Programming Language :: Python :: 3.13",
14
+ "Topic :: Software Development :: Libraries",
15
+ ]
16
+ dependencies = [
17
+ "somm-core==0.6.1",
18
+ "somm==0.6.1",
19
+ "mcp>=1.2",
20
+ ]
21
+
22
+ [project.scripts]
23
+ somm-mcp = "somm_mcp.cli:main"
24
+
25
+ [project.urls]
26
+ Homepage = "https://github.com/lavallee/somm"
27
+ Repository = "https://github.com/lavallee/somm"
28
+ Issues = "https://github.com/lavallee/somm/issues"
29
+ Changelog = "https://github.com/lavallee/somm/blob/main/CHANGELOG.md"
30
+
31
+ [build-system]
32
+ requires = ["hatchling"]
33
+ build-backend = "hatchling.build"
34
+
35
+ [tool.hatch.build.targets.wheel]
36
+ packages = ["src/somm_mcp"]
@@ -0,0 +1,13 @@
1
+ """somm-mcp — MCP server exposing somm telemetry + recommendations.
2
+
3
+ Ships 10 stdio tools: `somm_stats`, `somm_search_calls`, `somm_recommend`,
4
+ `somm_register_workload`, `somm_register_prompt`, `somm_compare`,
5
+ `somm_replay`, `somm_advise`, `somm_record_decision`,
6
+ `somm_search_decisions`.
7
+
8
+ Transport: stdio (direct to somm-core).
9
+ """
10
+
11
+ from somm_mcp.server import build_server
12
+
13
+ __all__ = ["build_server"]
@@ -0,0 +1,39 @@
1
+ """`somm-mcp` CLI — runs the stdio MCP server with the full provider chain."""
2
+
3
+ from __future__ import annotations
4
+
5
+ import argparse
6
+ import sys
7
+
8
+ from somm_core.config import Config
9
+ from somm_core.config import load as load_config
10
+
11
+
12
+ def build_parser() -> argparse.ArgumentParser:
13
+ p = argparse.ArgumentParser(prog="somm-mcp", description="somm MCP server (stdio)")
14
+ p.add_argument("--project", default=None)
15
+ return p
16
+
17
+
18
+ def _providers_from_config(cfg: Config):
19
+ """Build the default provider chain — the exact chain SommLLM builds,
20
+ so somm_compare / somm_replay can reach every provider the library can
21
+ (including gemini, deepseek, perplexity, and the CLI executors)."""
22
+ from somm.client import build_default_providers
23
+
24
+ return build_default_providers(cfg)
25
+
26
+
27
+ def main(argv: list[str] | None = None) -> int:
28
+ from somm_mcp.server import build_server
29
+
30
+ args = build_parser().parse_args(argv)
31
+ cfg = load_config(project=args.project)
32
+ providers = _providers_from_config(cfg)
33
+ server = build_server(cfg, providers=providers)
34
+ server.run()
35
+ return 0
36
+
37
+
38
+ if __name__ == "__main__":
39
+ sys.exit(main())
File without changes