From 0c9b69c55a8e4be6ad548b9465f85537c6d4cf94 Mon Sep 17 00:00:00 2001 From: jay Date: Wed, 29 Apr 2026 14:28:26 -0700 Subject: [PATCH 1/5] update compose files --- docker-compose-full.yml | 2 +- docker-compose.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose-full.yml b/docker-compose-full.yml index 45e097e..f7fac2b 100644 --- a/docker-compose-full.yml +++ b/docker-compose-full.yml @@ -42,7 +42,7 @@ services: condition: service_healthy mcp-file-handler-server: condition: service_healthy - mcp-web-search-server: + mcp-fetch-server: condition: service_healthy mcp-web-scraping-server: condition: service_healthy diff --git a/docker-compose.yml b/docker-compose.yml index 443dd41..cf25e86 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -44,7 +44,7 @@ services: condition: service_healthy mcp-web-search-server: condition: service_healthy - mcp-web-scraping-server: + mcp-fetch-server: condition: service_healthy neo4j: From 7119cd035952c8763d399d5d9a714fe952acca87 Mon Sep 17 00:00:00 2001 From: jay Date: Wed, 29 Apr 2026 14:28:35 -0700 Subject: [PATCH 2/5] update lock file --- src/package-lock.json | 29 ----------------------------- 1 file changed, 29 deletions(-) diff --git a/src/package-lock.json b/src/package-lock.json index 10e3588..18d3f41 100644 --- a/src/package-lock.json +++ b/src/package-lock.json @@ -82,7 +82,6 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", "license": "MIT", - "peer": true, "dependencies": { "@babel/code-frame": "^7.29.0", "@babel/generator": "^7.29.0", @@ -732,7 +731,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-flow/-/plugin-syntax-flow-7.28.6.tgz", "integrity": "sha512-D+OrJumc9McXNEBI/JmFnc/0uCM2/Y3PEBG3gfV3QIYkKv5pvnpzFrl1kYCrcHJP8nOeFB/SHi1IHz29pNGuew==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-plugin-utils": "^7.28.6" }, @@ -1616,7 +1614,6 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.28.6.tgz", "integrity": "sha512-61bxqhiRfAACulXSLd/GxqmAedUSrRZIu/cbaT18T1CetkTmtDN15it7i80ru4DVqRK1WMxQhXs+Lf9kajm5Ow==", "license": "MIT", - "peer": true, "dependencies": { "@babel/helper-annotate-as-pure": "^7.27.3", "@babel/helper-module-imports": "^7.28.6", @@ -4961,7 +4958,6 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.28.tgz", "integrity": "sha512-z9VXpC7MWrhfWipitjNdgCauoMLRdIILQsAEV+ZesIzBq/oUlxk0m3ApZuMFCXdnS4U7KrI+l3WRUEGQ8K1QKw==", "license": "MIT", - "peer": true, "dependencies": { "@types/prop-types": "*", "csstype": "^3.2.2" @@ -5299,7 +5295,6 @@ "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", "dev": true, "license": "BSD-2-Clause", - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "7.18.0", "@typescript-eslint/types": "7.18.0", @@ -5861,7 +5856,6 @@ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "license": "MIT", - "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -5960,7 +5954,6 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -6933,7 +6926,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -9030,7 +9022,6 @@ "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -9114,7 +9105,6 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", "license": "MIT", - "peer": true, "dependencies": { "@eslint-community/regexpp": "^4.4.0", "@typescript-eslint/scope-manager": "5.62.0", @@ -9149,7 +9139,6 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "license": "BSD-2-Clause", - "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "5.62.0", "@typescript-eslint/types": "5.62.0", @@ -12339,7 +12328,6 @@ "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", "integrity": "sha512-Yn0mADZB89zTtjkPJEXwrac3LHudkQMR+Paqa8uxJHCBr9agxztUifWCyiYrjhMPBoUVBjyny0I7XH6ozDr7QQ==", "license": "MIT", - "peer": true, "dependencies": { "@jest/core": "^27.5.1", "import-local": "^3.0.2", @@ -13255,7 +13243,6 @@ "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz", "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", "license": "MIT", - "peer": true, "bin": { "jiti": "bin/jiti.js" } @@ -15763,7 +15750,6 @@ } ], "license": "MIT", - "peer": true, "dependencies": { "nanoid": "^3.3.11", "picocolors": "^1.1.1", @@ -16965,7 +16951,6 @@ "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", "license": "MIT", - "peer": true, "dependencies": { "cssesc": "^3.0.0", "util-deprecate": "^1.0.2" @@ -17344,7 +17329,6 @@ "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", "license": "MIT", - "peer": true, "dependencies": { "loose-envify": "^1.1.0" }, @@ -17418,7 +17402,6 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", "license": "MIT", - "peer": true, "dependencies": { "loose-envify": "^1.1.0", "scheduler": "^0.23.2" @@ -17500,7 +17483,6 @@ "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } @@ -18282,7 +18264,6 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -19459,7 +19440,6 @@ "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.19.tgz", "integrity": "sha512-3ofp+LL8E+pK/JuPLPggVAIaEuhvIz4qNcf3nA1Xn2o/7fb7s/TYpHhwGDv1ZU3PkBluUVaF8PyCHcm48cKLWQ==", "license": "MIT", - "peer": true, "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", @@ -19775,7 +19755,6 @@ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "license": "MIT", - "peer": true, "engines": { "node": ">=12" }, @@ -19997,7 +19976,6 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "license": "(MIT OR CC0-1.0)", - "peer": true, "engines": { "node": ">=10" }, @@ -20106,7 +20084,6 @@ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "license": "Apache-2.0", - "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -20514,7 +20491,6 @@ "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", "dev": true, "license": "MIT", - "peer": true, "dependencies": { "esbuild": "^0.21.3", "postcss": "^8.4.43", @@ -20921,7 +20897,6 @@ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.105.2.tgz", "integrity": "sha512-dRXm0a2qcHPUBEzVk8uph0xWSjV/xZxenQQbLwnwP7caQCYpqG1qddwlyEkIDkYn0K8tvmcrZ+bOrzoQ3HxCDw==", "license": "MIT", - "peer": true, "dependencies": { "@types/eslint-scope": "^3.7.7", "@types/estree": "^1.0.8", @@ -20993,7 +20968,6 @@ "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.2.tgz", "integrity": "sha512-0XavAZbNJ5sDrCbkpWL8mia0o5WPOd2YGtxrEiZkBK9FjLppIUK2TgxK6qGD2P3hUXTJNNPVibrerKcx5WkR1g==", "license": "MIT", - "peer": true, "dependencies": { "@types/bonjour": "^3.5.9", "@types/connect-history-api-fallback": "^1.3.5", @@ -21503,7 +21477,6 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.18.0.tgz", "integrity": "sha512-PlXPeEWMXMZ7sPYOHqmDyCJzcfNrUr3fGNKtezX14ykXOEIvyK81d+qydx89KY5O71FKMPaQ2vBfBFI5NHR63A==", "license": "MIT", - "peer": true, "dependencies": { "fast-deep-equal": "^3.1.3", "fast-uri": "^3.0.1", @@ -21570,7 +21543,6 @@ "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.79.2.tgz", "integrity": "sha512-fS6iqSPZDs3dr/y7Od6y5nha8dW1YnbgtsyotCVvoFGKbERG++CVRFv1meyGDE1SNItQA8BrnCw7ScdAhRJ3XQ==", "license": "MIT", - "peer": true, "bin": { "rollup": "dist/bin/rollup" }, @@ -21897,7 +21869,6 @@ "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.8.2.tgz", "integrity": "sha512-mplynKqc1C2hTVYxd0PU2xQAc22TI1vShAYGksCCfxbn/dFwnHTNi1bvYsBTkhdUNtGIf5xNOg938rrSSYvS9A==", "license": "ISC", - "peer": true, "bin": { "yaml": "bin.mjs" }, From 3a435a37b91b15aac8aaf5b737e9f3312e97ed31 Mon Sep 17 00:00:00 2001 From: jay Date: Wed, 29 Apr 2026 14:29:27 -0700 Subject: [PATCH 3/5] fix typo Co-authored-by: Copilot --- docker-compose-full.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose-full.yml b/docker-compose-full.yml index f7fac2b..1e03186 100644 --- a/docker-compose-full.yml +++ b/docker-compose-full.yml @@ -42,9 +42,9 @@ services: condition: service_healthy mcp-file-handler-server: condition: service_healthy - mcp-fetch-server: + mcp-web-search-server: condition: service_healthy - mcp-web-scraping-server: + mcp-fetch-server: condition: service_healthy neo4j: From 3db1f1413d907cfac92d8d8d552abb8b6a91fec5 Mon Sep 17 00:00:00 2001 From: jay Date: Wed, 29 Apr 2026 14:36:05 -0700 Subject: [PATCH 4/5] update .env example Co-authored-by: Copilot --- backend/.env.example | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/backend/.env.example b/backend/.env.example index 904a70c..bdc3480 100644 --- a/backend/.env.example +++ b/backend/.env.example @@ -31,23 +31,23 @@ MAX_CONCURRENT_SESSIONS=10 # OpenAI Configuration (kong Dev) OPENAI_API_KEY=your-openai-api-key -OPENAI_BASE_URL=https://api-pub.dev.developer.nbcuni.com/prism-ai-core-openai +OPENAI_BASE_URL=https://api.openai.com/v1 OPENAI_MODEL=gpt-5.4 # Azure OpenAI Configuration -AZURE_OPENAI_ENDPOINT=https://api-pub.dev.developer.nbcuni.com/prism-ai-core-azure-v2 +AZURE_OPENAI_ENDPOINT=https://your-azure-openai-endpoint.openai.azure.com AZURE_OPENAI_API_KEY=your-azure-openai-api-key AZURE_OPENAI_DEPLOYMENT=gpt-5.4 AZURE_API_VERSION=2024-02-15-preview # AWS Bedrock Configuration -AWS_BASE_URL=https://api-pub.dev.developer.nbcuni.com/prism-ai-core-aws-v2 +AWS_BASE_URL=https://bedrock.us-east-1.amazonaws.com AWS_API_KEY=your-aws-api-key AWS_MODEL=global.anthropic.claude-sonnet-4-6 # Google Vertex AI Configuration GCP_MODEL=gemini-3.1-pro-preview -GCP_ENDPOINT=https://api-pub.dev.developer.nbcuni.com/prism-ai-core-gcp-v2 +GCP_ENDPOINT=https://vertexai.googleapis.com/v1/projects/your-project-id/locations/global/publishers/google/models/gemini-3.1-pro-preview:predict GCP_API_KEY=your-gcp-api-key # Ollama Configuration From 26d70f1946106c0f77799283ac00097bdbc5481e Mon Sep 17 00:00:00 2001 From: jay Date: Wed, 29 Apr 2026 15:39:24 -0700 Subject: [PATCH 5/5] updates --- backend/.env.example | 4 ++-- backend/config.py | 8 ++++---- backend/mcp_client.py | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/backend/.env.example b/backend/.env.example index bdc3480..07b329c 100644 --- a/backend/.env.example +++ b/backend/.env.example @@ -68,8 +68,8 @@ NEO4J_DATABASE=neo4j SEARCH_SERVER_URL=http://mcp-web-search-server:9393/mcp SEARCH_SERVER_API_KEY=your-search-server-api-key -SCRAPER_SERVER_URL=http://mcp-web-scraping-server:9292/mcp -SCRAPER_SERVER_API_KEY=your-scraper-server-api-key +FETCH_SERVER_URL=http://mcp-fetch-server:9292/mcp +FETCH_SERVER_API_KEY=your-fetch-server-api-key FILE_SERVER_URL=http://mcp-file-handler-server:9191/mcp FILE_SERVER_API_KEY=your-file-server-api-key \ No newline at end of file diff --git a/backend/config.py b/backend/config.py index 9d20107..4fc3714 100644 --- a/backend/config.py +++ b/backend/config.py @@ -234,13 +234,13 @@ class Config(BaseModel): # Web scraping server (port 9292): scrape_url (content extraction, metadata, # boilerplate removal). - scraper_server_url: str = Field( + fetch_server_url: str = Field( default_factory=lambda: os.getenv( - "SCRAPER_SERVER_URL", "http://localhost:9292/mcp" + "FETCH_SERVER_URL", "http://localhost:9292/mcp" ) ) - scraper_server_api_key: Optional[str] = Field( - default_factory=lambda: os.getenv("SCRAPER_SERVER_API_KEY") + fetch_server_api_key: Optional[str] = Field( + default_factory=lambda: os.getenv("FETCH_SERVER_API_KEY") ) # File handler server (port 9191): list_files, read_file, write_file, diff --git a/backend/mcp_client.py b/backend/mcp_client.py index 794d5bd..704346b 100644 --- a/backend/mcp_client.py +++ b/backend/mcp_client.py @@ -728,7 +728,7 @@ async def create_mcp_registry(config: Config) -> MCPServerRegistry: # Register the three built-in streamable-http servers. builtin_servers = [ ("web_search", config.search_server_url), - ("web_scraper", config.scraper_server_url), + ("fetch", config.fetch_server_url), ("file_handler", config.file_server_url), ] for server_name, server_url in builtin_servers: