1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 hatchling,
6 jsonref,
7 langchain,
8 langgraph,
9 llama-index,
10 mcp,
11 pytest-asyncio,
12 pytestCheckHook,
13 python-dotenv,
14 smolagents,
15}:
16
17buildPythonPackage rec {
18 pname = "mcpadapt";
19 version = "0.1.5";
20 pyproject = true;
21
22 src = fetchFromGitHub {
23 owner = "grll";
24 repo = "mcpadapt";
25 tag = "v${version}";
26 hash = "sha256-crxruowqZ5/tLH61w+M/862rbwELEnUktFuiZCOEBfw=";
27 };
28
29 build-system = [ hatchling ];
30
31 dependencies = [
32 jsonref
33 mcp
34 python-dotenv
35 ];
36
37 optional-dependencies = {
38 langchain = [
39 langchain
40 # langchain-anthropic
41 langgraph
42 ];
43 llamaindex = [ llama-index ];
44 };
45
46 pythonImportsCheck = [ "mcpadapt" ];
47
48 # Circular dependency smolagents
49 doCheck = false;
50
51 meta = {
52 description = "MCP servers tool";
53 homepage = "https://github.com/grll/mcpadapt";
54 changelog = "https://github.com/grll/mcpadapt/releases/tag/${src.tag}";
55 license = lib.licenses.mit;
56 maintainers = with lib.maintainers; [ fab ];
57 };
58}