mcp-agentic-pipelines 1.0.1

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 (119) hide show
  1. package/.env.example +93 -0
  2. package/README.md +258 -0
  3. package/package.json +70 -0
  4. package/packages/clinical/package.json +22 -0
  5. package/packages/clinical/src/index.ts +262 -0
  6. package/packages/clinical/tsconfig.json +13 -0
  7. package/packages/core/package.json +21 -0
  8. package/packages/core/src/config.ts +138 -0
  9. package/packages/core/src/errors.ts +100 -0
  10. package/packages/core/src/index.ts +104 -0
  11. package/packages/core/src/llm-config.ts +213 -0
  12. package/packages/core/src/logging.ts +66 -0
  13. package/packages/core/src/python-bridge.ts +384 -0
  14. package/packages/core/src/rate-limiter.ts +136 -0
  15. package/packages/core/src/types.ts +203 -0
  16. package/packages/core/src/validation.ts +101 -0
  17. package/packages/core/tsconfig.json +10 -0
  18. package/packages/deeppipe/package.json +21 -0
  19. package/packages/deeppipe/src/index.ts +424 -0
  20. package/packages/deeppipe/tsconfig.json +13 -0
  21. package/packages/piste/package.json +20 -0
  22. package/packages/piste/src/index.ts +48 -0
  23. package/packages/piste/tsconfig.json +13 -0
  24. package/packages/precis/package.json +20 -0
  25. package/packages/precis/src/index.ts +67 -0
  26. package/packages/precis/tsconfig.json +13 -0
  27. package/packages/server/package.json +31 -0
  28. package/packages/server/src/index.ts +427 -0
  29. package/packages/server/tsconfig.json +17 -0
  30. package/setup.mjs +141 -0
  31. package/test.mjs +337 -0
  32. package/vendors/clinical-intake/pipeline.mjs +349 -0
  33. package/vendors/clinical-intake/questions/en.txt +9 -0
  34. package/vendors/clinical-intake/questions/fr.txt +9 -0
  35. package/vendors/piste/.env.example +73 -0
  36. package/vendors/piste/app/core/__init__.py +4 -0
  37. package/vendors/piste/app/core/config.py +83 -0
  38. package/vendors/piste/app/core/debuglog.py +16 -0
  39. package/vendors/piste/app/core/middleware.py +40 -0
  40. package/vendors/piste/bridge_piste.py +301 -0
  41. package/vendors/piste/pipeline/__init__.py +4 -0
  42. package/vendors/piste/pipeline/compiler.py +68 -0
  43. package/vendors/piste/pipeline/offline/__init__.py +28 -0
  44. package/vendors/piste/pipeline/offline/verifaid_pipeline.py +247 -0
  45. package/vendors/piste/pipeline/replay.py +15 -0
  46. package/vendors/piste/pipeline/replay_engine.py +249 -0
  47. package/vendors/piste/pipeline/signatures/__init__.py +4 -0
  48. package/vendors/piste/pipeline/signatures/signatures.py +136 -0
  49. package/vendors/piste/pipeline/stage1/__init__.py +21 -0
  50. package/vendors/piste/pipeline/stage1/atomic_decomposer.py +61 -0
  51. package/vendors/piste/pipeline/stage1/check_worthiness.py +100 -0
  52. package/vendors/piste/pipeline/stage1/orchestrator.py +175 -0
  53. package/vendors/piste/pipeline/stage1/test_stage1.py +162 -0
  54. package/vendors/piste/pipeline/stage2/__init__.py +34 -0
  55. package/vendors/piste/pipeline/stage2/blind_retriever.py +303 -0
  56. package/vendors/piste/pipeline/stage2/canonical_mapper.py +124 -0
  57. package/vendors/piste/pipeline/stage2/credibility_scorer.py +85 -0
  58. package/vendors/piste/pipeline/stage2/orchestrator.py +311 -0
  59. package/vendors/piste/pipeline/stage2/query_refiner.py +88 -0
  60. package/vendors/piste/pipeline/stage2/search_decision.py +69 -0
  61. package/vendors/piste/pipeline/stage2/test_stage2.py +265 -0
  62. package/vendors/piste/pipeline/stage3/__init__.py +20 -0
  63. package/vendors/piste/pipeline/stage3/classifier.py +79 -0
  64. package/vendors/piste/pipeline/stage3/orchestrator.py +225 -0
  65. package/vendors/piste/pipeline/stage3/test_stage3.py +101 -0
  66. package/vendors/piste/pipeline/stage4/__init__.py +33 -0
  67. package/vendors/piste/pipeline/stage4/criticality_gate.py +177 -0
  68. package/vendors/piste/pipeline/stage4/orchestrator.py +269 -0
  69. package/vendors/piste/pipeline/stage4/test_stage4.py +192 -0
  70. package/vendors/piste/pipeline/stage4/verdict_aggregator.py +157 -0
  71. package/vendors/piste/requirements.txt +53 -0
  72. package/vendors/precis/backend/__init__.py +6 -0
  73. package/vendors/precis/backend/agents/__init__.py +3 -0
  74. package/vendors/precis/backend/agents/data_synthesis.py +105 -0
  75. package/vendors/precis/backend/agents/dist_free_synth.py +97 -0
  76. package/vendors/precis/backend/agents/exact_hash_retriever.py +327 -0
  77. package/vendors/precis/backend/agents/fusion_ranker.py +64 -0
  78. package/vendors/precis/backend/agents/guardrail.py +175 -0
  79. package/vendors/precis/backend/agents/query_expander.py +89 -0
  80. package/vendors/precis/backend/agents/radial_interpol.py +99 -0
  81. package/vendors/precis/backend/agents/report_generator.py +92 -0
  82. package/vendors/precis/backend/agents/semantic_reranker.py +135 -0
  83. package/vendors/precis/backend/agents/stat_anomaly.py +93 -0
  84. package/vendors/precis/backend/agents/vector_index.py +123 -0
  85. package/vendors/precis/backend/agents/veri_score.py +341 -0
  86. package/vendors/precis/backend/agents/work_order_extractor.py +205 -0
  87. package/vendors/precis/backend/api/__init__.py +3 -0
  88. package/vendors/precis/backend/api/routes/__init__.py +3 -0
  89. package/vendors/precis/backend/config.py +88 -0
  90. package/vendors/precis/backend/core/__init__.py +13 -0
  91. package/vendors/precis/backend/core/hashing.py +22 -0
  92. package/vendors/precis/backend/core/metrics.py +77 -0
  93. package/vendors/precis/backend/core/multitoken.py +166 -0
  94. package/vendors/precis/backend/core/pmi.py +54 -0
  95. package/vendors/precis/backend/core/stemming.py +74 -0
  96. package/vendors/precis/backend/core/tracing.py +150 -0
  97. package/vendors/precis/backend/data/__init__.py +3 -0
  98. package/vendors/precis/backend/data/chunker.py +57 -0
  99. package/vendors/precis/backend/data/pdf_parser.py +42 -0
  100. package/vendors/precis/backend/db/__init__.py +3 -0
  101. package/vendors/precis/backend/db/models.py +173 -0
  102. package/vendors/precis/backend/db/repository.py +269 -0
  103. package/vendors/precis/backend/llm/__init__.py +3 -0
  104. package/vendors/precis/backend/llm/anthropic_provider.py +39 -0
  105. package/vendors/precis/backend/llm/base.py +147 -0
  106. package/vendors/precis/backend/llm/deepseek_provider.py +43 -0
  107. package/vendors/precis/backend/llm/factory.py +60 -0
  108. package/vendors/precis/backend/llm/google_provider.py +39 -0
  109. package/vendors/precis/backend/llm/ollama_provider.py +54 -0
  110. package/vendors/precis/backend/llm/openai_provider.py +50 -0
  111. package/vendors/precis/backend/main.py +677 -0
  112. package/vendors/precis/backend/orchestrator/__init__.py +3 -0
  113. package/vendors/precis/backend/orchestrator/planner.py +81 -0
  114. package/vendors/precis/backend/orchestrator/router.py +319 -0
  115. package/vendors/precis/backend/orchestrator/types.py +58 -0
  116. package/vendors/precis/bridge_precis.py +185 -0
  117. package/vendors/precis/data/sample_reports/README.md +8 -0
  118. package/vendors/precis/data/seed_data.py +115 -0
  119. package/vendors/precis/requirements.txt +19 -0
package/.env.example ADDED
@@ -0,0 +1,93 @@
1
+ # ═══════════════════════════════════════════════════════════════
2
+ # Unified MCP Server — Environment Configuration
3
+ # Generated for jinan-kordab | Date: 2026-06-21
4
+ # ═══════════════════════════════════════════════════════════════
5
+ #
6
+ # === LLM PROVIDER CONFIGURATION (unified multi-provider) =======
7
+ #
8
+ # Each component can use a different LLM provider or inherit the default.
9
+ # Supported providers: openai | anthropic | google | deepseek |
10
+ # groq | ollama | openrouter | azure | custom
11
+ #
12
+ # Provider auto-configuration (base URL + default model):
13
+ # openai → https://api.openai.com/v1 | gpt-4o-mini
14
+ # anthropic → https://api.anthropic.com/v1 | claude-3-haiku-20240307
15
+ # google → https://generativelanguage.googleapis.com/v1beta | gemini-2.0-flash
16
+ # deepseek → https://api.deepseek.com | deepseek-chat
17
+ # groq → https://api.groq.com/openai/v1 | llama-3.3-70b-versatile
18
+ # ollama → http://localhost:11434/v1 | llama3.2
19
+ # openrouter → https://openrouter.ai/api/v1 | openai/gpt-4o-mini
20
+ # azure → (requires AZURE_* vars below) | (requires deployment)
21
+ # custom → (requires LLM_DEFAULT_BASE_URL + LLM_DEFAULT_MODEL)
22
+ #
23
+ # ═══════════════════════════════════════════════════════════════
24
+
25
+ # --- Default LLM (used when per-component override is not set) ---
26
+ LLM_DEFAULT_PROVIDER=openai
27
+ LLM_DEFAULT_API_KEY=sk-your-key-here
28
+ LLM_DEFAULT_BASE_URL= # Override auto-detected base URL
29
+ LLM_DEFAULT_MODEL= # Override auto-detected model
30
+
31
+ # --- Azure OpenAI (only needed when provider=azure) ---
32
+ AZURE_OPENAI_ENDPOINT=https://your-resource.openai.azure.com
33
+ AZURE_OPENAI_API_KEY=
34
+ AZURE_OPENAI_DEPLOYMENT=gpt-4o-mini
35
+ AZURE_OPENAI_API_VERSION=2024-08-01-preview
36
+
37
+ # --- Anthropic-specific (auto-set, override here) ---
38
+ # ANTHROPIC_API_KEY= # Falls back to LLM_DEFAULT_API_KEY if provider=anthropic
39
+ # ANTHROPIC_BASE_URL= # Default: https://api.anthropic.com/v1
40
+
41
+ # --- Google-specific ---
42
+ # GOOGLE_API_KEY= # Falls back to LLM_DEFAULT_API_KEY if provider=google
43
+
44
+ # --- Ollama-specific ---
45
+ # OLLAMA_HOST=http://localhost:11434
46
+
47
+ # ═══════════════════════════════════════════════════════════════
48
+
49
+ # --- DeepPipe Engine ---
50
+ DEEPPIPE_INDEX_PATH=./data/deeppipe.db
51
+ DEEPPIPE_LLM_PROVIDER= # Falls back to LLM_DEFAULT_PROVIDER
52
+ DEEPPIPE_LLM_API_KEY= # Falls back to LLM_DEFAULT_API_KEY
53
+ DEEPPIPE_LLM_MODEL= # Falls back to provider default
54
+
55
+ # --- Piste (Fact-Checking) ---
56
+ # Piste uses DSPy over LiteLLM — supports 100+ models natively
57
+ PISTE_API_URL=http://localhost:8000
58
+ PISTE_LLM_PROVIDER=deepseek # LiteLLM model string, e.g. deepseek/deepseek-chat
59
+ PISTE_LLM_API_KEY= # Falls back to LLM_DEFAULT_API_KEY
60
+ TAVILY_API_KEY= # At least one search provider required
61
+ SERPER_API_KEY=
62
+ GOOGLE_CSE_API_KEY= # Optional fallback
63
+ GOOGLE_CSE_ID=
64
+
65
+ # --- Precis (RAG Pipeline) ---
66
+ # Precis supports: deepseek, openai, anthropic, google, ollama
67
+ PRECIS_API_URL=http://localhost:8001
68
+ PRECIS_LLM_PROVIDER=deepseek # Provider name for Precis backend
69
+ PRECIS_LLM_API_KEY= # Falls back to LLM_DEFAULT_API_KEY
70
+
71
+ # --- Clinical Intake ---
72
+ # LLM for clinical reasoning
73
+ CLINICAL_LLM_PROVIDER=deepseek # Falls back to LLM_DEFAULT_PROVIDER
74
+ CLINICAL_LLM_API_KEY= # Falls back to LLM_DEFAULT_API_KEY
75
+ CLINICAL_LLM_MODEL= # Falls back to provider default
76
+ # STT (Speech-to-Text)
77
+ CLINICAL_STT_PROVIDER=groq # Currently: groq (whisper-large-v3)
78
+ GROQ_API_KEY=
79
+ # TTS (Text-to-Speech)
80
+ CLINICAL_TTS_PROVIDER=elevenlabs # Currently: elevenlabs
81
+ ELEVENLABS_API_KEY=
82
+ ELEVENLABS_VOICE_ID=21m00Tcm4TlvDq8ikWAM
83
+
84
+ # ═══════════════════════════════════════════════════════════════
85
+
86
+ # --- MCP Server ---
87
+ MCP_SERVER_NAME=unified-jk-mcp
88
+ MCP_SERVER_VERSION=0.1.0
89
+ MCP_TRANSPORT=stdio # stdio | sse
90
+ MCP_SSE_PORT=3100
91
+ MCP_LOG_LEVEL=info # debug | info | warn | error
92
+ MCP_RATE_LIMIT_ENABLED=true
93
+ MCP_RATE_LIMIT_MAX_RPS=10
package/README.md ADDED
@@ -0,0 +1,258 @@
1
+ # mcp-agentic-pipelines
2
+
3
+ > **One MCP server. Five AI pipelines. Thirty-one tools. Zero manual setup.**
4
+
5
+ [![npm](https://img.shields.io/npm/v/mcp-agentic-pipelines)](https://www.npmjs.com/package/mcp-agentic-pipelines)
6
+
7
+ Composable, agentic AI pipelines for Anthropic's Model Context Protocol. Fact-check claims with DSPy, search documents with hybrid RAG, extract intelligence with DeepPipe, and run clinical voice intake — all from a single MCP server. Designed for Claude Desktop, VS Code, Cursor, and any MCP-compatible client.
8
+
9
+ ---
10
+
11
+ ## All 31 Tools
12
+
13
+ ### 🔍 DeepPipe — Document Intelligence (10 tools)
14
+ | Tool | What it does |
15
+ |---|---|
16
+ | `deeppipe_search` | Full-text + vector hybrid search across all documents |
17
+ | `deeppipe_ingest` | Ingest raw text/JSON documents for indexing |
18
+ | `deeppipe_ingest_file` | Ingest documents directly from file paths |
19
+ | `deeppipe_chat_context` | RAG-style Q&A with source citations |
20
+ | `deeppipe_extractive_answer` | Extract a precise answer from documents |
21
+ | `deeppipe_list_documents` | List all indexed documents with metadata |
22
+ | `deeppipe_get_document` | Retrieve a specific document by ID |
23
+ | `deeppipe_get_text` | Get the full text content of a document |
24
+ | `deeppipe_remove_document` | Remove a document from the index |
25
+ | `deeppipe_stats` | View index statistics and document count |
26
+
27
+ ### 🧠 Piste — Fact-Checking (6 tools)
28
+ | Tool | What it does |
29
+ |---|---|
30
+ | `piste_fact_check` | Run a claim through the full 4-stage DSPy pipeline (retrieval → verification → aggregation → verdict) |
31
+ | `piste_list_verdicts` | Browse all past fact-check verdicts |
32
+ | `piste_replay` | Replay the audit trail of any fact-check run |
33
+ | `piste_get_audit` | Get the detailed reasoning chain for a verdict |
34
+ | `piste_get_verdict` | Retrieve a specific verdict by claim ID |
35
+ | `piste_submit_feedback` | Submit human feedback to improve future checks |
36
+
37
+ ### 📚 Precis — RAG Pipeline (8 tools)
38
+ | Tool | What it does |
39
+ |---|---|
40
+ | `precis_query` | Full RAG query — hybrid search + LLM answer generation |
41
+ | `precis_list_documents` | List all documents in the RAG corpus |
42
+ | `precis_debug_stem` | Inspect how the stemmer processes a query |
43
+ | `precis_debug_search` | See raw hybrid search results (before LLM) |
44
+ | `precis_upload_document` | Upload a document to the RAG corpus |
45
+ | `precis_upload_batch` | Batch-upload multiple documents at once |
46
+ | `precis_extract_work_order` | Extract structured work orders from documents |
47
+ | `precis_list_work_orders` | Browse all extracted work orders |
48
+
49
+ ### 🎙️ Clinical — Voice Intake (5 tools)
50
+ | Tool | What it does |
51
+ |---|---|
52
+ | `clinical_start_session` | Start a new voice intake session (returns session ID) |
53
+ | `clinical_process_audio` | Send audio → STT transcription → SOAP notes |
54
+ | `clinical_generate_podcast` | Generate a clinical podcast from session notes |
55
+ | `clinical_list_sessions` | List all voice intake sessions |
56
+ | `clinical_get_session` | Get full details of a specific session |
57
+
58
+ ### ⚙️ Built-in (2 tools)
59
+ | Tool | What it does |
60
+ |---|---|
61
+ | `mcp_health` | Server health, tool count, provider status |
62
+ | `mcp_list_providers` | List all 9 supported LLM providers |
63
+
64
+ ---
65
+
66
+ ## Compose Pipelines Together
67
+
68
+ These tools are designed to be chained. Here's a real workflow:
69
+
70
+ ```
71
+ 1. deeppipe_ingest → Load a research paper into the index
72
+ 2. precis_upload_document → Add it to the RAG corpus
73
+ 3. deeppipe_search → Find relevant passages
74
+ 4. piste_fact_check → Verify claims found in those passages
75
+ 5. precis_query → Generate a RAG answer from verified context
76
+ 6. clinical_start_session → Start voice notes on the findings
77
+ 7. clinical_generate_podcast → Turn it all into a shareable podcast
78
+ ```
79
+
80
+ **In Claude Desktop, this is a conversation:**
81
+ > *"Search my documents for claims about climate policy, fact-check each one,
82
+ > then generate a clinical podcast summarizing the verified findings."*
83
+
84
+ Claude orchestrates the tool calls — your server provides the pipelines.
85
+
86
+ ---
87
+
88
+ ## Architecture
89
+
90
+ ```mermaid
91
+ graph LR
92
+ subgraph Top[" "]
93
+ direction LR
94
+ CL[Claude Desktop]
95
+ VS[VS Code]
96
+ CU[Cursor]
97
+ end
98
+
99
+ subgraph Core["MCP Server Core"]
100
+ direction LR
101
+ ROUTER[Request Router<br/>6 handlers]
102
+ RATE[Rate Limiter]
103
+ GUARD[Dep Guard]
104
+ end
105
+
106
+ subgraph DP["DeepPipe<br/>10 tools · TS"]
107
+ D1[search] --> D2[ingest] --> D3[chat]
108
+ end
109
+
110
+ subgraph PS["Piste<br/>6 tools · Python"]
111
+ P1[fact_check] --> PY1[DSPy Pipeline]
112
+ end
113
+
114
+ subgraph PR["Precis<br/>8 tools · Python"]
115
+ R1[query] --> PY2[RAG Engine]
116
+ end
117
+
118
+ subgraph CLN["Clinical<br/>5 tools · TS"]
119
+ C1[session] --> C2[audio] --> C3[podcast]
120
+ end
121
+
122
+ subgraph Bottom[" "]
123
+ direction LR
124
+ LLM[9 LLM Providers<br/>DeepSeek · OpenAI · Anthropic · Groq · Ollama · Google · Azure · OpenRouter · Custom]
125
+ EXT[Tavily · Serper · ElevenLabs]
126
+ DEP[uv · 10 pip pkgs · 6 npm pkgs]
127
+ end
128
+
129
+ Top --> Core
130
+ Core --> DP & PS & PR & CLN
131
+ DP & PS & PR & CLN --> Bottom
132
+
133
+ style Top fill:#f8f9fa,color:#333
134
+ style Core fill:#e8f4fd,color:#333
135
+ style DP fill:#f0f8ff,color:#1a5276,stroke:#aed6f1
136
+ style PS fill:#fef9e7,color:#7d6608,stroke:#f9e79f
137
+ style PR fill:#eafaf1,color:#1e8449,stroke:#a9dfbf
138
+ style CLN fill:#fdedec,color:#922b21,stroke:#f5b7b1
139
+ style Bottom fill:#f8f9fa,color:#333
140
+ ```
141
+
142
+ ---
143
+
144
+ ## Quick Start
145
+
146
+ ```bash
147
+ # 1. Install (npm + Python deps handled automatically)
148
+ npx mcp-agentic-pipelines setup
149
+
150
+ # 2. Start the server
151
+ npx mcp-agentic-pipelines
152
+
153
+ # 3. Or run the test suite
154
+ npx mcp-agentic-pipelines test
155
+ ```
156
+
157
+ ### MCP Client Configuration
158
+
159
+ Add to your MCP client config:
160
+
161
+ ```json
162
+ {
163
+ "mcpServers": {
164
+ "mcp-agentic-pipelines": {
165
+ "command": "npx",
166
+ "args": ["mcp-agentic-pipelines"]
167
+ }
168
+ }
169
+ }
170
+ ```
171
+
172
+ ### Environment Variables
173
+
174
+ Copy `.env.example` to `.env` and set your keys:
175
+
176
+ | Key | Purpose |
177
+ |---|---|
178
+ | `DEEPSEEK_API_KEY` | Default LLM (DeepSeek) |
179
+ | `OPENAI_API_KEY` | Fallback LLM |
180
+ | `GROQ_API_KEY` | Clinical voice (STT) |
181
+ | `ELEVENLABS_API_KEY` | Clinical voice (TTS) |
182
+ | `TAVILY_API_KEY` | Piste web search |
183
+ | `SERPER_API_KEY` | Piste web search |
184
+
185
+ *Server starts with any subset — missing keys skip their tools gracefully.*
186
+
187
+ ---
188
+
189
+ ## Requirements
190
+
191
+ - **Node.js ≥ 18**
192
+ - **Python 3.11+** (automatically managed via `uv` — no manual Python install needed on Linux/macOS)
193
+ - **API keys** for the tools you want to use (DeepSeek, Groq, ElevenLabs, Tavily, etc.)
194
+
195
+ ---
196
+
197
+ ## Development
198
+
199
+ ```bash
200
+ git clone https://github.com/jinan-kordab/mcp-agentic-pipelines.git
201
+ cd mcp-agentic-pipelines
202
+ npm install
203
+ node setup.mjs # one-time — installs all Python deps
204
+ node test.mjs # runs all 31 tool tests
205
+ ```
206
+
207
+ ---
208
+
209
+ ## Architecture (Directory)
210
+
211
+ ```
212
+ packages/
213
+ ├── core/ Shared types, config, logging, Python bridge
214
+ ├── server/ MCP entry point, request routing
215
+ ├── deeppipe/ 10 document intelligence tools
216
+ ├── piste/ 6 fact-checking tools (Python bridge → DSPy)
217
+ ├── precis/ 8 RAG tools (Python bridge → hybrid search)
218
+ ├── clinical/ 5 voice intake tools (native TypeScript)
219
+ vendors/
220
+ ├── piste/ DSPy pipeline modules + stdin/stdout bridge
221
+ ├── precis/ RAG backend modules + stdin/stdout bridge
222
+ ├── clinical-intake/ Voice pipeline (npm workspace)
223
+ setup.mjs One-time setup (uv, npm, pip)
224
+ test.mjs Complete test suite (31 tools)
225
+ ```
226
+
227
+ ---
228
+
229
+ ## License
230
+
231
+ MIT © [Jinan Kordab](https://github.com/jinan-kordab)
232
+
233
+
234
+ ---
235
+
236
+ ## Architecture
237
+
238
+ ```
239
+ packages/
240
+ ├── core/ Shared types, config, logging, Python bridge
241
+ ├── server/ MCP entry point, request routing
242
+ ├── deeppipe/ 10 document intelligence tools
243
+ ├── piste/ 6 fact-checking tools (Python bridge → DSPy)
244
+ ├── precis/ 8 RAG tools (Python bridge → hybrid search)
245
+ ├── clinical/ 5 voice intake tools (native TypeScript)
246
+ vendors/
247
+ ├── piste/ DSPy pipeline modules + stdin/stdout bridge
248
+ ├── precis/ RAG backend modules + stdin/stdout bridge
249
+ ├── clinical-intake/ Voice pipeline (npm workspace)
250
+ setup.mjs One-time setup (uv, npm, pip)
251
+ test.mjs Complete test suite (31 tools)
252
+ ```
253
+
254
+ ---
255
+
256
+ ## License
257
+
258
+ MIT © [Jinan Kordab](https://github.com/jinan-kordab)
package/package.json ADDED
@@ -0,0 +1,70 @@
1
+ {
2
+ "name": "mcp-agentic-pipelines",
3
+ "version": "1.0.1",
4
+ "description": "Composable, agentic pipelines for MCP — fact-checking (DSPy), RAG (hybrid search), document intelligence (DeepPipe), and clinical voice (Groq/ElevenLabs). 31 AI tools, one command, zero manual setup.",
5
+ "author": "Jinan Kordab <https://github.com/jinan-kordab>",
6
+ "license": "MIT",
7
+ "repository": "github:jinan-kordab/mcp-agentic-pipelines",
8
+ "homepage": "https://github.com/jinan-kordab/mcp-agentic-pipelines#readme",
9
+ "bugs": "https://github.com/jinan-kordab/mcp-agentic-pipelines/issues",
10
+ "keywords": [
11
+ "mcp",
12
+ "modelcontextprotocol",
13
+ "ai",
14
+ "llm",
15
+ "fact-checking",
16
+ "dspy",
17
+ "rag",
18
+ "document-intelligence",
19
+ "voice-ai",
20
+ "agentic",
21
+ "pipelines",
22
+ "claude",
23
+ "anthropic"
24
+ ],
25
+ "bin": {
26
+ "mcp-agentic-pipelines": "./packages/server/src/index.ts"
27
+ },
28
+ "files": [
29
+ "packages/",
30
+ "vendors/",
31
+ "setup.mjs",
32
+ "test.mjs",
33
+ ".env.example",
34
+ "README.md"
35
+ ],
36
+ "workspaces": [
37
+ "packages/core",
38
+ "packages/deeppipe",
39
+ "packages/piste",
40
+ "packages/precis",
41
+ "packages/clinical",
42
+ "packages/server"
43
+ ],
44
+ "scripts": {
45
+ "setup": "node setup.mjs",
46
+ "start": "node --import tsx packages/server/src/index.ts",
47
+ "dev": "node --import tsx packages/server/src/index.ts",
48
+ "test": "node test.mjs",
49
+ "typecheck": "tsc --noEmit",
50
+ "clean": "rimraf packages/*/dist"
51
+ },
52
+ "devDependencies": {
53
+ "@types/node": "^22.0.0",
54
+ "rimraf": "^6.0.0",
55
+ "tsx": "^4.0.0",
56
+ "typescript": "^5.6.0",
57
+ "vitest": "^2.0.0"
58
+ },
59
+ "dependencies": {
60
+ "@kordabjinan/deeppipe": "^0.1.0",
61
+ "@modelcontextprotocol/sdk": "^1.0.0",
62
+ "dotenv": "^16.4.5",
63
+ "groq-sdk": "^0.8.0",
64
+ "openai": "^4.73.0",
65
+ "zod": "^3.23.0"
66
+ },
67
+ "engines": {
68
+ "node": ">=18.0.0"
69
+ }
70
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ "name": "@unified-mcp/clinical",
3
+ "version": "0.1.0",
4
+ "description": "Clinical Intake integration for unified MCP server — AI pre-consultation voice agent with multi-provider LLM support",
5
+ "type": "module",
6
+ "main": "./src/index.ts",
7
+ "types": "./src/index.ts",
8
+ "scripts": {
9
+ "build": "tsc -p tsconfig.json",
10
+ "typecheck": "tsc -p tsconfig.json --noEmit",
11
+ "test": "vitest run",
12
+ "test:watch": "vitest"
13
+ },
14
+ "dependencies": {
15
+ "@unified-mcp/core": "^0.1.0",
16
+ "openai": "^4.73.0",
17
+ "groq-sdk": "^0.8.0"
18
+ },
19
+ "devDependencies": {
20
+ "vitest": "^2.0.0"
21
+ }
22
+ }