sirchmunk 0.0.1.post1__py3-none-any.whl → 0.0.2__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.
Files changed (43) hide show
  1. sirchmunk/api/__init__.py +1 -0
  2. sirchmunk/api/chat.py +1123 -0
  3. sirchmunk/api/components/__init__.py +0 -0
  4. sirchmunk/api/components/history_storage.py +402 -0
  5. sirchmunk/api/components/monitor_tracker.py +518 -0
  6. sirchmunk/api/components/settings_storage.py +353 -0
  7. sirchmunk/api/history.py +254 -0
  8. sirchmunk/api/knowledge.py +411 -0
  9. sirchmunk/api/main.py +120 -0
  10. sirchmunk/api/monitor.py +219 -0
  11. sirchmunk/api/run_server.py +54 -0
  12. sirchmunk/api/search.py +230 -0
  13. sirchmunk/api/settings.py +309 -0
  14. sirchmunk/api/tools.py +315 -0
  15. sirchmunk/cli/__init__.py +11 -0
  16. sirchmunk/cli/cli.py +789 -0
  17. sirchmunk/learnings/knowledge_base.py +5 -2
  18. sirchmunk/llm/prompts.py +12 -1
  19. sirchmunk/retrieve/text_retriever.py +186 -2
  20. sirchmunk/scan/file_scanner.py +2 -2
  21. sirchmunk/schema/knowledge.py +119 -35
  22. sirchmunk/search.py +384 -26
  23. sirchmunk/storage/__init__.py +2 -2
  24. sirchmunk/storage/{knowledge_manager.py → knowledge_storage.py} +265 -60
  25. sirchmunk/utils/constants.py +7 -5
  26. sirchmunk/utils/embedding_util.py +217 -0
  27. sirchmunk/utils/tokenizer_util.py +36 -1
  28. sirchmunk/version.py +1 -1
  29. {sirchmunk-0.0.1.post1.dist-info → sirchmunk-0.0.2.dist-info}/METADATA +124 -9
  30. sirchmunk-0.0.2.dist-info/RECORD +69 -0
  31. {sirchmunk-0.0.1.post1.dist-info → sirchmunk-0.0.2.dist-info}/WHEEL +1 -1
  32. sirchmunk-0.0.2.dist-info/top_level.txt +2 -0
  33. sirchmunk_mcp/__init__.py +25 -0
  34. sirchmunk_mcp/cli.py +478 -0
  35. sirchmunk_mcp/config.py +276 -0
  36. sirchmunk_mcp/server.py +355 -0
  37. sirchmunk_mcp/service.py +327 -0
  38. sirchmunk_mcp/setup.py +15 -0
  39. sirchmunk_mcp/tools.py +410 -0
  40. sirchmunk-0.0.1.post1.dist-info/RECORD +0 -45
  41. sirchmunk-0.0.1.post1.dist-info/top_level.txt +0 -1
  42. {sirchmunk-0.0.1.post1.dist-info → sirchmunk-0.0.2.dist-info}/entry_points.txt +0 -0
  43. {sirchmunk-0.0.1.post1.dist-info → sirchmunk-0.0.2.dist-info}/licenses/LICENSE +0 -0
@@ -27,9 +27,44 @@ class TokenizerUtil:
27
27
  """
28
28
  if not content.strip():
29
29
  return []
30
-
31
30
  return self.tokenizer.encode(content.strip())
32
31
 
32
+ def decode(self, token_ids: List[int]) -> str:
33
+ """Decode a list of token IDs back into a natural text string.
34
+
35
+ Args:
36
+ token_ids: List of token IDs to decode.
37
+
38
+ Returns:
39
+ Decoded text string.
40
+ """
41
+ if not token_ids:
42
+ return ""
43
+ return self.tokenizer.decode(token_ids, skip_special_tokens=True)
44
+
45
+ def segment(self, content: str) -> List[str]:
46
+ """Tokenize text into a list of token strings suitable for BM25-like algorithms indexing/retrieval.
47
+
48
+ This method returns the actual sub-word tokens as strings (e.g., ["▁Hello", "▁world"]),
49
+ preserving token boundaries. These tokens can be directly used as terms in BM25.
50
+
51
+ Args:
52
+ content: Input text string.
53
+
54
+ Returns:
55
+ List of token strings (not IDs), ready for BM25-style processing.
56
+ """
57
+ if not content.strip():
58
+ return []
59
+
60
+ token_ids = self.encode(content)
61
+ # Decode each token ID individually to get its string representation
62
+ token_strings = [
63
+ self.tokenizer.decode([tid], skip_special_tokens=True)
64
+ for tid in token_ids
65
+ ]
66
+ return token_strings
67
+
33
68
  def count_tokens(self, contents: Union[str, List[str]]) -> Union[int, List[int]]:
34
69
  """
35
70
  Batch count tokens for multiple texts.
sirchmunk/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.0.1.post1"
1
+ __version__ = "0.0.2"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sirchmunk
3
- Version: 0.0.1.post1
3
+ Version: 0.0.2
4
4
  Summary: Sirchmunk: From raw data to self-evolving real-time intelligence.
5
5
  Author: ModelScope Team
6
6
  Author-email: contact@modelscope.cn
@@ -34,6 +34,8 @@ Requires-Dist: tqdm
34
34
  Requires-Dist: rapidfuzz
35
35
  Requires-Dist: duckdb
36
36
  Requires-Dist: kreuzberg>=4.0.0rc1
37
+ Requires-Dist: sentence-transformers
38
+ Requires-Dist: modelscope
37
39
  Provides-Extra: web
38
40
  Requires-Dist: fastapi>=0.100.0; extra == "web"
39
41
  Requires-Dist: uvicorn[standard]>=0.24.0; extra == "web"
@@ -103,6 +105,7 @@ Dynamic: license-file
103
105
  [![ripgrep-all](https://img.shields.io/badge/ripgrep--all-Search-E67E22?style=flat-square&logo=rust&logoColor=white)](https://github.com/phiresky/ripgrep-all)
104
106
  [![OpenAI](https://img.shields.io/badge/OpenAI-API-412991?style=flat-square&logo=openai&logoColor=white)](https://github.com/openai/openai-python)
105
107
  [![Kreuzberg](https://img.shields.io/badge/Kreuzberg-Text_Extraction-4CAF50?style=flat-square)](https://github.com/kreuzberg-dev/kreuzberg)
108
+ [![MCP](https://img.shields.io/badge/MCP-Python_SDK-8B5CF6?style=flat-square&logo=python&logoColor=white)](https://github.com/modelcontextprotocol/python-sdk)
106
109
 
107
110
 
108
111
  [**Quick Start**](#-quick-start) · [**Key Features**](#-key-features) · [**Web UI**](#-web-ui) · [**How it Works**](#-how-it-works) · [**FAQ**](#-faq)
@@ -228,6 +231,12 @@ It serves as a unified intelligent hub for AI agents, delivering deep insights a
228
231
 
229
232
  ## 🎉 News
230
233
 
234
+ * 🚀 **Feb 5, 2026**: Release **v0.0.2** — MCP Support, CLI Commands & Knowledge Persistence!
235
+ - **MCP Integration**: Full [Model Context Protocol](https://modelcontextprotocol.io) support, works seamlessly with Claude Desktop and Cursor IDE.
236
+ - **CLI Commands**: New `sirchmunk` CLI with `init`, `config`, `serve`, and `search` commands.
237
+ - **KnowledgeCluster Persistence**: DuckDB-powered storage with Parquet export for efficient knowledge management.
238
+ - **Knowledge Reuse**: Semantic similarity-based cluster retrieval for faster searches via embedding vectors.
239
+
231
240
  * 🎉🎉 Jan 22, 2026: Introducing **Sirchmunk**: Initial Release v0.0.1 Now Available!
232
241
 
233
242
 
@@ -273,9 +282,9 @@ llm = OpenAIChat(
273
282
 
274
283
  async def main():
275
284
 
276
- agent_search = AgenticSearch(llm=llm)
285
+ searcher = AgenticSearch(llm=llm)
277
286
 
278
- result: str = await agent_search.search(
287
+ result: str = await searcher.search(
279
288
  query="How does transformer attention work?",
280
289
  search_paths=["/path/to/documents"],
281
290
  )
@@ -286,11 +295,117 @@ asyncio.run(main())
286
295
  ```
287
296
 
288
297
  **⚠️ Notes:**
289
- - Upon initialization, AgenticSearch automatically checks if ripgrep-all and ripgrep are installed. If they are missing, it will attempt to install them automatically. If the automatic installation fails, please install them manually.
298
+ - Upon initialization, `AgenticSearch` automatically checks if `ripgrep-all` and `ripgrep` are installed. If they are missing, it will attempt to install them automatically. If the automatic installation fails, please install them manually.
290
299
  - References: https://github.com/BurntSushi/ripgrep | https://github.com/phiresky/ripgrep-all
291
300
  - Replace `"your-api-key"`, `"your-base-url"`, `"your-model-name"` and `/path/to/documents` with your actual values.
292
301
 
293
302
 
303
+ ### Command Line Interface
304
+
305
+ Sirchmunk provides a powerful CLI for server management and search operations.
306
+
307
+ #### Installation
308
+
309
+ ```bash
310
+ pip install "sirchmunk[web]"
311
+
312
+ # or install via UV
313
+ uv pip install "sirchmunk[web]"
314
+ ```
315
+
316
+
317
+ #### Initialize
318
+
319
+ ```bash
320
+ # Initialize Sirchmunk with default settings (Default work path: `~/.sirchmunk/`)
321
+ sirchmunk init
322
+
323
+ # Alternatively, initialize with custom work path
324
+ sirchmunk init --work-path /path/to/workspace
325
+ ```
326
+
327
+ #### Configure
328
+
329
+ ```bash
330
+ # Show current configuration
331
+ sirchmunk config
332
+
333
+ # Regenerate configuration file if needed (Default config file: ~/.sirchmunk/.env)
334
+ sirchmunk config --generate
335
+ ```
336
+
337
+ #### Start API Server
338
+
339
+ ```bash
340
+ # Start server with default settings
341
+ sirchmunk serve
342
+
343
+ # Custom host and port
344
+ sirchmunk serve --host 0.0.0.0 --port 8000
345
+
346
+ # Development mode with auto-reload
347
+ sirchmunk serve --reload
348
+ ```
349
+
350
+ #### Search
351
+
352
+ ```bash
353
+ # Search in current directory
354
+ sirchmunk search "How does authentication work?"
355
+
356
+ # Search in specific paths
357
+ sirchmunk search "find all API endpoints" ./src ./docs
358
+
359
+ # Quick filename search
360
+ sirchmunk search "config" --mode FILENAME_ONLY
361
+
362
+ # Output as JSON
363
+ sirchmunk search "database schema" --output json
364
+
365
+ # Use API server (requires running server)
366
+ sirchmunk search "query" --api --api-url http://localhost:8584
367
+ ```
368
+
369
+ #### Available Commands
370
+
371
+ | Command | Description |
372
+ |---------|-------------|
373
+ | `sirchmunk init` | Initialize working directory and configuration |
374
+ | `sirchmunk config` | Show or generate configuration |
375
+ | `sirchmunk serve` | Start the API server |
376
+ | `sirchmunk search` | Perform search queries |
377
+ | `sirchmunk version` | Show version information |
378
+
379
+ ---
380
+
381
+ ## 🔌 MCP Server
382
+
383
+ Sirchmunk provides a [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server that exposes its intelligent search capabilities as MCP tools. This enables seamless integration with AI assistants like **Claude Desktop** and **Cursor IDE**.
384
+
385
+ ### Quick Start
386
+
387
+ ```bash
388
+ # Install MCP package
389
+ pip install sirchmunk-mcp
390
+
391
+ # Initialize and configure
392
+ sirchmunk-mcp init
393
+ sirchmunk-mcp config --generate
394
+
395
+ # Edit ~/.sirchmunk/.mcp_env with your LLM API key
396
+
397
+ # Test with MCP Inspector
398
+ npx @modelcontextprotocol/inspector sirchmunk-mcp serve
399
+ ```
400
+
401
+ ### Features
402
+
403
+ - **Multi-Mode Search**: DEEP mode for comprehensive analysis, FILENAME_ONLY for fast file discovery
404
+ - **Knowledge Cluster Management**: Automatic extraction, storage, and reuse of knowledge
405
+ - **Standard MCP Protocol**: Works with stdio and Streamable HTTP transports
406
+
407
+ 📖 **For detailed documentation, see [Sirchmunk MCP README](src/sirchmunk_mcp/README.md)**.
408
+
294
409
  ---
295
410
 
296
411
  ## 🖥️ Web UI
@@ -364,10 +479,10 @@ python scripts/stop_web.py
364
479
 
365
480
  ### Data Storage
366
481
 
367
- All persistent data is stored in the configured `WORK_PATH` (default: `~/.sirchmunk/`):
482
+ All persistent data is stored in the configured `SIRCHMUNK_WORK_PATH` (default: `~/.sirchmunk/`):
368
483
 
369
484
  ```
370
- {WORK_PATH}/
485
+ {SIRCHMUNK_WORK_PATH}/
371
486
  ├── .cache/
372
487
  ├── history/ # Chat session history (DuckDB)
373
488
  │ └── chat_history.db
@@ -410,7 +525,7 @@ Any OpenAI-compatible API endpoint, including (but not limited too):
410
525
  Simply specify the path in your search query:
411
526
 
412
527
  ```python
413
- result = await search.search(
528
+ result = await searcher.search(
414
529
  query="Your question",
415
530
  search_paths=["/path/to/folder", "/path/to/file.pdf"]
416
531
  )
@@ -425,7 +540,7 @@ No pre-processing or indexing required!
425
540
 
426
541
  Knowledge clusters are persisted in Parquet format at:
427
542
  ```
428
- {WORK_PATH}/.cache/knowledge/knowledge_clusters.parquet
543
+ {SIRCHMUNK_WORK_PATH}/.cache/knowledge/knowledge_clusters.parquet
429
544
  ```
430
545
 
431
546
  You can query them using DuckDB or the `KnowledgeManager` API.
@@ -437,7 +552,7 @@ You can query them using DuckDB or the `KnowledgeManager` API.
437
552
 
438
553
  1. **Web Dashboard**: Visit the Monitor page for real-time statistics
439
554
  2. **API**: `GET /api/v1/monitor/llm` returns usage metrics
440
- 3. **Code**: Access `search.llm_usages` after search completion
555
+ 3. **Code**: Access `searcher.llm_usages` after search completion
441
556
 
442
557
  </details>
443
558
 
@@ -0,0 +1,69 @@
1
+ sirchmunk/__init__.py,sha256=5sdppELUcjnTofJtwZ2ACuUscmLYIPhCwj-G-MMSl-M,184
2
+ sirchmunk/base.py,sha256=qVQ63QfEWhEvOJl3OxQvC2rOUNTZCD5weXRn-1vvEkU,439
3
+ sirchmunk/search.py,sha256=rOfcdrXZbm5gcZWKRHSJWmK_kZDgP0pKS0uQsGIlTXQ,34270
4
+ sirchmunk/version.py,sha256=QvlVh4JTl3JL7jQAja76yKtT-IvF4631ASjWY1wS6AQ,22
5
+ sirchmunk/api/__init__.py,sha256=310L84MdAIw4THnzf5YsLiUhW_oaxgJHHcZZeMso3jY,61
6
+ sirchmunk/api/chat.py,sha256=5Y3ujcgK3GPkPDrCnS1uduAQYr4dpzYmHjztCJQWITA,41103
7
+ sirchmunk/api/history.py,sha256=iKRzMtvy-fRVSfqd5mkisHPTttNb2XOVh1P1Zv3Ohgk,9135
8
+ sirchmunk/api/knowledge.py,sha256=fpXX16O2XD-JIrywBUH5JOt8arVBz8X9JoNhxSBfofo,12948
9
+ sirchmunk/api/main.py,sha256=FVSbIa_5EKTRldDRwzAvDoezr6VyvktJTiQhv5CKq2k,3253
10
+ sirchmunk/api/monitor.py,sha256=SIG_kYxERpVbLHBzOYAuPH9fbVAy8gGq_mNuVO14v1M,5655
11
+ sirchmunk/api/run_server.py,sha256=FvYwlvrQ0MUhk4Yn7lbvoXWnJ6d7k6D0T9hUV6EDEmE,1632
12
+ sirchmunk/api/search.py,sha256=-eqmewxy4541apNoB-7SU_gXtrPz-7MLKBa_OkbJwCA,6776
13
+ sirchmunk/api/settings.py,sha256=w7mpyynBhtLmjkvofGVsu7IqO5YrjE0M08yntK3kPwk,10544
14
+ sirchmunk/api/tools.py,sha256=VMYPkxm4ofiSqHrZISrpEZ0QQ83Ef6MUN4MRKUo1kiI,11227
15
+ sirchmunk/api/components/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
+ sirchmunk/api/components/history_storage.py,sha256=5ug-CitkIounlLct5n6iK8va3hFM1t4FRGgiGM5SB60,13969
17
+ sirchmunk/api/components/monitor_tracker.py,sha256=oBLq3My3Fq0WTpbIvcRW0MJR6Nf_eiEy0tIWb4AzeOM,18424
18
+ sirchmunk/api/components/settings_storage.py,sha256=kPG87q5iZjUZrcNPeZFEhb-6Fy3oY7_4AfVBESdn1uA,11415
19
+ sirchmunk/cli/__init__.py,sha256=ivKDHPZFyKEQ5GDhtK6ZjuQWduUgziF5sUtNFwXFW10,253
20
+ sirchmunk/cli/cli.py,sha256=QsF9vIgzySQrX0bdbjJqA97RMMvem2RLXSvFij6jbPU,23463
21
+ sirchmunk/insight/__init__.py,sha256=7sQeT0fSg5-b9jrwthA9_fSCR1Q5qSvm33L9l7kHjLY,144
22
+ sirchmunk/insight/text_insights.py,sha256=BwFqmDNG8FmOz4Lv3qO1Mz2xRv_LVg4b3wj6YUhVLVE,9075
23
+ sirchmunk/learnings/__init__.py,sha256=310L84MdAIw4THnzf5YsLiUhW_oaxgJHHcZZeMso3jY,61
24
+ sirchmunk/learnings/evidence_processor.py,sha256=QDg-qReSte8R8I2BrRRC-d-Glyfjcnqazbe57-PSDHU,17922
25
+ sirchmunk/learnings/knowledge_base.py,sha256=K-Rx2jnZH5dGzQk6lrwoSFaaVZ4QJJQtnTFO3rkyr-I,8496
26
+ sirchmunk/llm/__init__.py,sha256=4ynF6R63afMWW1d9T21C8JqfVc9xJTiOFXZNzDwPLww,98
27
+ sirchmunk/llm/openai_chat.py,sha256=ET7HqEoFTbbvhUTlAUZNOoJwxF9hA73qeH3xFTsNK-w,8138
28
+ sirchmunk/llm/prompts.py,sha256=uCNH4mbwtAL7QUJuGEzNGI7rXKPXW5Sbs0g1ZRMAKqI,9274
29
+ sirchmunk/retrieve/__init__.py,sha256=310L84MdAIw4THnzf5YsLiUhW_oaxgJHHcZZeMso3jY,61
30
+ sirchmunk/retrieve/base.py,sha256=VDpCwdwhjVYuj0mbe78qg_FhbcQkasbCS0cd66hQ4hk,618
31
+ sirchmunk/retrieve/text_retriever.py,sha256=hqvdCYFKwLJlhnGXabxwEDWPhBK8sQ9fxb3oIhEGE_s,46980
32
+ sirchmunk/scan/__init__.py,sha256=310L84MdAIw4THnzf5YsLiUhW_oaxgJHHcZZeMso3jY,61
33
+ sirchmunk/scan/base.py,sha256=3Jqvn0W9KJ00u2oy8U-qD16KksV7taAx4s9qhCpRD-c,496
34
+ sirchmunk/scan/file_scanner.py,sha256=7w7wTvYc2SZpfIo02HvWxHEnJGmw_rifWPTXMMpYn6s,14698
35
+ sirchmunk/scan/web_scanner.py,sha256=YQRBQ5JnATwNdek2o1_Y8GB0eG0IWQvx4YhqW4Zc5Tw,531
36
+ sirchmunk/scheduler/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
37
+ sirchmunk/schema/__init__.py,sha256=kvzKU8Rt1t91Rm5tuy6KqgZXj8lfYQ2q1XvLYGNLUh4,103
38
+ sirchmunk/schema/cognition.py,sha256=NDgCOjMpqyUBxd_ymeMQrjSr3Ri-nJeMUNRuWfLUhBI,4031
39
+ sirchmunk/schema/context.py,sha256=wwsSBE5EJXmrvh-RCluf3nJm7hcxkWaiNWfJ10coGY4,628
40
+ sirchmunk/schema/knowledge.py,sha256=4OiLvNK_wKT96FxeUsOxZG4ZmJ5RCyCtlyehbIBTpLg,14824
41
+ sirchmunk/schema/metadata.py,sha256=VdUD6GPCB_jtyBkowkGEpCPMYL1c-sFVSUloKPSZRwE,22810
42
+ sirchmunk/schema/request.py,sha256=EPum-IzmN15EgFmwN12oL-CNoI-KvTcHN4nLuO-c09c,7702
43
+ sirchmunk/schema/response.py,sha256=6xc5tvAnqL_zpUhQtchVGwbrt1btzy4QArCeS81DrIU,488
44
+ sirchmunk/schema/snapshot.py,sha256=zZSKDRN8jMtpOIH3TL0FCrAn7AlUc_5zO8qFX2f2u_s,12341
45
+ sirchmunk/storage/__init__.py,sha256=maUD6CAUydaWYHewhGLLaaKAH1ap-qzVTjVbb_XeEmg,231
46
+ sirchmunk/storage/duckdb.py,sha256=Jw_EK9i589YyKXYhi-yjAmX7zIM7txDsoxy0Gx-XY8o,23092
47
+ sirchmunk/storage/knowledge_storage.py,sha256=I7KdBbul9TTAWsClYJMyXNK_4b2o76PzGoycOYwHGTs,36009
48
+ sirchmunk/utils/__init__.py,sha256=33bVrhpUfPXpM85r_SEB07QJnGDjD-4BE5p9vpF-fXw,265
49
+ sirchmunk/utils/constants.py,sha256=Ki7XtUD152q6jZDK5rUqZJ8H_AMeFGO40Wvc2UBKqV0,703
50
+ sirchmunk/utils/deps.py,sha256=QTL0k7CN1t0_r-CrZ4TM__pdK8U2X1d0OKvJUtQe_xA,563
51
+ sirchmunk/utils/embedding_util.py,sha256=5xEH773XklRqMu5kNBDKmIMqtFjU-H_c8DtjYiPxvhk,6603
52
+ sirchmunk/utils/file_utils.py,sha256=9OtYNffXbo1Pz6XuJsOECQS_mYRBg1NpGUsglNgfWnU,2257
53
+ sirchmunk/utils/install_rga.py,sha256=i7sWYi6u2A32dc0mq5LB_OtqcMWqKezSz6WILWaK1Oc,5215
54
+ sirchmunk/utils/log_utils.py,sha256=HujosgEXV9fpSVd6JjRh7KEQuskhrcpC4Kit6aIpnW0,14195
55
+ sirchmunk/utils/tokenizer_util.py,sha256=BC-U3ahUPID0ctuRGw9dEc_IfNe_vAKZuiwQ_GSib6g,2848
56
+ sirchmunk/utils/utils.py,sha256=qnwZ8R9xLqsMooW0IdcWoPKto7q4AQ49-SOR33rCy1g,3394
57
+ sirchmunk-0.0.2.dist-info/licenses/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
58
+ sirchmunk_mcp/__init__.py,sha256=EFeOjlxKZJjPhAyb6ISdSUT-7arY3EZw0zZyvYPVx24,612
59
+ sirchmunk_mcp/cli.py,sha256=uYcahqzYMPcJWcrVOzuvkQeoUWKeGhkIv2R5nHW7S3M,15341
60
+ sirchmunk_mcp/config.py,sha256=7nbN9G0ECCqnINWEuqh6Hddxs_o_JznpdwOyGgFf5LE,8956
61
+ sirchmunk_mcp/server.py,sha256=XH3_EohE-91zJtiAeLdwH69oISn7Hizytipwbu-gJmc,11515
62
+ sirchmunk_mcp/service.py,sha256=d5G0IJHlBeaTkxo_MmFIF1h9GZu62oOTjvWX7Pd29XI,12184
63
+ sirchmunk_mcp/setup.py,sha256=ELDZu3FIhiAd8u-GgIxsvfmK-58cYdC1NLEJBAZnhsI,370
64
+ sirchmunk_mcp/tools.py,sha256=8L95ajxB51eu4GWyXGpq2sorE30HwZ2KLA7tyqLii-Q,12739
65
+ sirchmunk-0.0.2.dist-info/METADATA,sha256=nWhcRloB7ESH8zsTw3JqrGk3TtczzvvKZlhOTmIZT7o,21813
66
+ sirchmunk-0.0.2.dist-info/WHEEL,sha256=wUyA8OaulRlbfwMtmQsvNngGrxQHAvkKcvRmdizlJi0,92
67
+ sirchmunk-0.0.2.dist-info/entry_points.txt,sha256=lpnP-Ll2CUY0P1wYm6kutcBMrxwG67astmgY-vVhF14,56
68
+ sirchmunk-0.0.2.dist-info/top_level.txt,sha256=TBWdnogNJmu7ZizAztBsxTVOqkpoAc-5o-aKCU8KpBc,24
69
+ sirchmunk-0.0.2.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.10.1)
2
+ Generator: setuptools (80.10.2)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -0,0 +1,2 @@
1
+ sirchmunk
2
+ sirchmunk_mcp
@@ -0,0 +1,25 @@
1
+ # Copyright (c) ModelScope Contributors. All rights reserved.
2
+ """
3
+ Sirchmunk MCP Server
4
+
5
+ A Model Context Protocol (MCP) server that exposes Sirchmunk's intelligent
6
+ code and document search capabilities as MCP tools.
7
+
8
+ Uses FastMCP for simplified MCP server implementation.
9
+ """
10
+
11
+ __version__ = "0.1.0"
12
+ __author__ = "ModelScope Contributors"
13
+
14
+ from .server import create_server, run_stdio_server, run_http_server
15
+ from .service import SirchmunkService
16
+ from .config import Config
17
+
18
+ __all__ = [
19
+ "create_server",
20
+ "run_stdio_server",
21
+ "run_http_server",
22
+ "SirchmunkService",
23
+ "Config",
24
+ "__version__",
25
+ ]