adding uv

This commit is contained in:
2025-03-15 18:09:26 -05:00
parent d07b0ff1a1
commit db72f2fc51
5 changed files with 1280 additions and 27 deletions

1
.python-version Normal file
View File

@@ -0,0 +1 @@
3.13

18
flake.lock generated
View File

@@ -17,6 +17,23 @@
"type": "github"
}
},
"basic-memory-mcp": {
"flake": false,
"locked": {
"lastModified": 1742075537,
"narHash": "sha256-x3o0T0e5bFczAND9/xxnuS634jtbLNu1uuc8zOczOsE=",
"owner": "basicmachines-co",
"repo": "basic-memory",
"rev": "3bffb2e1907119d3fe751847a4c985483b6429b2",
"type": "github"
},
"original": {
"owner": "basicmachines-co",
"ref": "main",
"repo": "basic-memory",
"type": "github"
}
},
"nixpkgs": {
"locked": {
"lastModified": 1741851582,
@@ -82,6 +99,7 @@
"root": {
"inputs": {
"arxiv-mcp-server": "arxiv-mcp-server",
"basic-memory-mcp": "basic-memory-mcp",
"nixpkgs": "nixpkgs",
"pyproject-build-systems": "pyproject-build-systems",
"pyproject-nix": "pyproject-nix",

View File

@@ -25,6 +25,11 @@
flake = false;
};
basic-memory-mcp = {
url = "github:basicmachines-co/basic-memory/main";
flake = false;
};
# Uncomment and set correct URL when available
# mcp-servers = {
# url = "github:your-org/mcp-servers";
@@ -42,15 +47,15 @@
)
);
buildUvServer = { src, pkgs }:
buildUvServer = { src, pkgs, venvName }:
let
workspace = inputs.uv2nix.lib.workspace.loadWorkspace { workspaceRoot = src; };
workspace = inputs.uv2nix.lib.workspace.loadWorkspace { workspaceRoot = "${src}/"; };
overlay = workspace.mkPyprojectOverlay {
sourcePreference = "wheel";
};
python = pkgs.python312;
pyprojectOverrides = final: prev: {
jaconv = prev.jaconv.overrideAttrs (old: {
sgmllib3k = prev.sgmllib3k.overrideAttrs (old: {
nativeBuildInputs =
old.nativeBuildInputs or [ ] ++ (
final.resolveBuildSystem {
@@ -70,7 +75,7 @@
]
);
in
pythonSet.mkVirtualEnv "arxiv-mcp-env" workspace.deps.default;
pythonSet.mkVirtualEnv venvName workspace.deps.default;
# Build function for MCP servers
buildMcpServer = { pkgs }:
@@ -93,54 +98,52 @@
cp -r node_modules/bin $out/bin
'';
};
custom-serversFor = { pkgs }: {
arxiv-mcp-server = buildUvServer {
pkgs = pkgs;
src = inputs.arxiv-mcp-server;
venvName = "arxiv-mcp-env";
};
basic-memory-mcp = buildUvServer {
pkgs = pkgs;
src = inputs.basic-memory-mcp;
venvName = "basic-memory-mcp-env";
};
};
in {
# Formatting
formatter = forAllSystems (system: nixpkgs.legacyPackages.${system}.nixpkgs-fmt);
# Overlays
overlays.default = final: prev: {
custom-servers = {
arxiv-mcp-server = buildUvServer {
pkgs = prev;
src = inputs.arxiv-mcp-server;
};
};
mcp-servers = buildMcpServer {
custom-servers = custom-serversFor {
pkgs = prev;
};
};
# Packages
packages = forAllSystems (system:
let
pkgs = pkgsFor system;
custom-servers = {
arxiv-mcp-server = buildUvServer {
pkgs = pkgs;
src = inputs.arxiv-mcp-server;
};
};
in {
inherit custom-servers;
in custom-serversFor {
pkgs = pkgs;
}
);
# Development shell
devShells = forAllSystems (system:
let pkgs = pkgsFor system;
custom-servers = {
arxiv-mcp-server = buildUvServer {
pkgs = pkgs;
src = inputs.arxiv-mcp-server;
};
};
custom-servers = custom-serversFor { inherit pkgs; };
in {
default = pkgs.mkShell {
packages = [
# pkgs.uv
# pkgs.nodejs
custom-servers
custom-servers.arxiv-mcp-server
custom-servers.basic-memory-mcp
];
};
}

10
pyproject.toml Normal file
View File

@@ -0,0 +1,10 @@
[project]
name = "claude-mcp-bundle"
version = "0.1.0"
description = "Add your description here"
readme = "README.md"
requires-python = ">=3.13"
dependencies = [
"arxiv-mcp-server>=0.2.8",
"basic-memory>=0.10.0",
]

1221
uv.lock generated Normal file

File diff suppressed because it is too large Load Diff