Mcp add search (#702)

<!-- .github/pull_request_template.md -->

## Description
- Fix Ollama endpoint issue
- Fix COMPLETION and GRAPH COMPLETION MCP use

## DCO Affirmation
I affirm that all code in every commit of this pull request conforms to
the terms of the Topoteretes Developer Certificate of Origin.
This commit is contained in:
Igor Ilic 2025-04-04 19:11:07 +02:00 committed by GitHub
parent 8207dc8643
commit f4856b4413
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 32 additions and 26 deletions

View file

@ -194,6 +194,8 @@ async def search(search_query: str, search_type: str) -> str:
if search_type.upper() == "CODE":
return json.dumps(search_results, cls=JSONEncoder)
elif search_type.upper() == "GRAPH_COMPLETION" or search_type.upper() == "COMPLETION":
return search_results[0]
else:
results = retrieved_edges_to_string(search_results)
return results

52
cognee-mcp/uv.lock generated
View file

@ -508,7 +508,7 @@ wheels = [
[[package]]
name = "cognee"
version = "0.1.35"
version = "0.1.36"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "aiofiles" },
@ -545,9 +545,9 @@ dependencies = [
{ name = "tiktoken" },
{ name = "typing-extensions" },
]
sdist = { url = "https://files.pythonhosted.org/packages/ab/f7/faf063d8b81c665dcd5091155e376e253bc931d6f9b30a45960d750c9bcb/cognee-0.1.35.tar.gz", hash = "sha256:ea151ec812bf00cc002b044281e1b6586f403c19567b64bb746cb8f617c9629c", size = 390184 }
sdist = { url = "https://files.pythonhosted.org/packages/a3/cf/3f4d858e9e42dd01af0307f31b6ac4bd9ed4f7f27a7d619e0123527f9b04/cognee-0.1.36.tar.gz", hash = "sha256:67ab2d69a604bf46e3c0241d4b8a5ff9e2e6df280e5a120e74f665e2d3e4eec5", size = 390542 }
wheels = [
{ url = "https://files.pythonhosted.org/packages/7c/72/af5b1202dcb92552cd472896d5b9e3daa0224cd532e78f49139582170d3d/cognee-0.1.35-py3-none-any.whl", hash = "sha256:fb5bad930ecba6d8c5a5791a1e8d9592ffabcf8ac55868d54c30c617215c66d1", size = 624619 },
{ url = "https://files.pythonhosted.org/packages/5d/93/c955838cd5c0094398230d43ffa0d10dc59ae4930477d6941e5dc4df4295/cognee-0.1.36-py3-none-any.whl", hash = "sha256:e5de99e7019e13361a1ba0b693bbc46fed4acda9e6d3ceec82a85cf9fa1f9560", size = 625054 },
]
[package.optional-dependencies]
@ -568,7 +568,7 @@ postgres = [
[[package]]
name = "cognee-mcp"
version = "0.2.1"
version = "0.2.2"
source = { editable = "." }
dependencies = [
{ name = "cognee", extra = ["codegraph", "huggingface", "postgres"] },
@ -583,7 +583,7 @@ dev = [
[package.metadata]
requires-dist = [
{ name = "cognee", extras = ["postgres", "codegraph", "gemini", "huggingface"] },
{ name = "cognee", extras = ["postgres", "codegraph", "gemini", "huggingface"], specifier = "==0.1.36" },
{ name = "mcp", specifier = "==1.5.0" },
{ name = "uv", specifier = ">=0.6.3" },
]
@ -605,7 +605,7 @@ name = "coloredlogs"
version = "15.0.1"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "humanfriendly" },
{ name = "humanfriendly", marker = "python_full_version < '3.13'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/cc/c7/eed8f27100517e8c0e6b923d5f0845d0cb99763da6fdee00478f91db7325/coloredlogs-15.0.1.tar.gz", hash = "sha256:7c991aa71a4577af2f82600d8f8f3a89f936baeaf9b50a9c197da014e5bf16b0", size = 278520 }
wheels = [
@ -984,16 +984,16 @@ name = "fastembed"
version = "0.6.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "huggingface-hub" },
{ name = "loguru" },
{ name = "mmh3" },
{ name = "numpy" },
{ name = "onnxruntime" },
{ name = "pillow" },
{ name = "py-rust-stemmers" },
{ name = "requests" },
{ name = "tokenizers" },
{ name = "tqdm" },
{ name = "huggingface-hub", marker = "python_full_version < '3.13'" },
{ name = "loguru", marker = "python_full_version < '3.13'" },
{ name = "mmh3", marker = "python_full_version < '3.13'" },
{ name = "numpy", marker = "python_full_version < '3.13'" },
{ name = "onnxruntime", marker = "python_full_version < '3.13'" },
{ name = "pillow", marker = "python_full_version < '3.13'" },
{ name = "py-rust-stemmers", marker = "python_full_version < '3.13'" },
{ name = "requests", marker = "python_full_version < '3.13'" },
{ name = "tokenizers", marker = "python_full_version < '3.13'" },
{ name = "tqdm", marker = "python_full_version < '3.13'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/c6/f4/036a656c605f63dc25f11284f60f69900a54a19c513e1ae60d21d6977e75/fastembed-0.6.0.tar.gz", hash = "sha256:5c9ead25f23449535b07243bbe1f370b820dcc77ec2931e61674e3fe7ff24733", size = 50731 }
wheels = [
@ -1328,7 +1328,7 @@ name = "humanfriendly"
version = "10.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "pyreadline3", marker = "sys_platform == 'win32'" },
{ name = "pyreadline3", marker = "python_full_version < '3.13' and sys_platform == 'win32'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/cc/3f/2c29224acb2e2df4d2046e4c73ee2662023c58ff5b113c4c1adac0886c43/humanfriendly-10.0.tar.gz", hash = "sha256:6b0b831ce8f15f7300721aa49829fc4e83921a9a301cc7f606be6686a2288ddc", size = 360702 }
wheels = [
@ -1679,8 +1679,8 @@ name = "loguru"
version = "0.7.3"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "colorama", marker = "sys_platform == 'win32'" },
{ name = "win32-setctime", marker = "sys_platform == 'win32'" },
{ name = "colorama", marker = "python_full_version < '3.13' and sys_platform == 'win32'" },
{ name = "win32-setctime", marker = "python_full_version < '3.13' and sys_platform == 'win32'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/3a/05/a1dae3dffd1116099471c643b8924f5aa6524411dc6c63fdae648c4f1aca/loguru-0.7.3.tar.gz", hash = "sha256:19480589e77d47b8d85b2c827ad95d49bf31b0dcde16593892eb51dd18706eb6", size = 63559 }
wheels = [
@ -2132,12 +2132,12 @@ name = "onnxruntime"
version = "1.21.0"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "coloredlogs" },
{ name = "flatbuffers" },
{ name = "numpy" },
{ name = "packaging" },
{ name = "protobuf" },
{ name = "sympy" },
{ name = "coloredlogs", marker = "python_full_version < '3.13'" },
{ name = "flatbuffers", marker = "python_full_version < '3.13'" },
{ name = "numpy", marker = "python_full_version < '3.13'" },
{ name = "packaging", marker = "python_full_version < '3.13'" },
{ name = "protobuf", marker = "python_full_version < '3.13'" },
{ name = "sympy", marker = "python_full_version < '3.13'" },
]
wheels = [
{ url = "https://files.pythonhosted.org/packages/a8/b5/433e46baf8f31a84684f9d3446d8683473706e2810b6171e19beed88ecb9/onnxruntime-1.21.0-cp310-cp310-macosx_13_0_universal2.whl", hash = "sha256:95513c9302bc8dd013d84148dcf3168e782a80cdbf1654eddc948a23147ccd3d", size = 33639595 },
@ -3618,7 +3618,7 @@ name = "sympy"
version = "1.13.3"
source = { registry = "https://pypi.org/simple" }
dependencies = [
{ name = "mpmath" },
{ name = "mpmath", marker = "python_full_version < '3.13'" },
]
sdist = { url = "https://files.pythonhosted.org/packages/11/8a/5a7fd6284fa8caac23a26c9ddf9c30485a48169344b4bd3b0f02fef1890f/sympy-1.13.3.tar.gz", hash = "sha256:b27fd2c6530e0ab39e275fc9b683895367e51d5da91baa8d3d64db2565fec4d9", size = 7533196 }
wheels = [

View file

@ -23,6 +23,7 @@ def get_embedding_engine() -> EmbeddingEngine:
model=config.embedding_model,
dimensions=config.embedding_dimensions,
max_tokens=config.embedding_max_tokens,
endpoint=config.embedding_endpoint,
huggingface_tokenizer=config.huggingface_tokenizer,
)

View file

@ -13,6 +13,9 @@ services:
- HOST=0.0.0.0
- ENVIRONMENT=local
- PYTHONPATH=.
extra_hosts:
# Allows the container to reach your local machine using "host.docker.internal" instead of "localhost"
- "host.docker.internal:host-gateway"
ports:
- 8000:8000
# - 5678:5678 # Debugging