diff --git a/README.md b/README.md index 8ab7d18..d949760 100644 --- a/README.md +++ b/README.md @@ -6,13 +6,14 @@ This repository provides Nix derivations for MCP (Model Context Protocol) server ## Available Packages -| Package | Description | Language | -|---------------------------------|-------------------------------------------------------------------|------------| -| academic-search-mcp-server | Search academic papers via Semantic Scholar and Crossref | Python | -| kindly-web-search-mcp-server | Web search + content retrieval via Serper, Tavily, or SearXNG | Python | -| manim-mcp-server | Execute Manim animation code and return videos | Python | -| pdf-reader-mcp | Production‑ready PDF processing with parallel processing | TypeScript | -| zotero-mcp | Connect Zotero research library with AI assistants | Python | +| Package | Description | Language | +|---------------------------------|------------------------------------------------------------------|------------| +| academic-search-mcp-server | Search academic papers via Semantic Scholar and Crossref | Python | +| kindly-web-search-mcp-server | Web search + content retrieval via Serper, Tavily, or SearXNG | Python | +| manim-mcp-server | Execute Manim animation code and return videos | Python | +| pdf-reader-mcp | Production‑ready PDF processing with parallel processing | TypeScript | +| rust-research-mcp | Accumulate and organize academic knowledge | Rust | +| zotero-mcp | Connect Zotero research library with AI assistants | Python | ## Usage diff --git a/flake.nix b/flake.nix index 7a758cf..3d8e838 100644 --- a/flake.nix +++ b/flake.nix @@ -59,6 +59,10 @@ extraPkgs = allMcpServers; }) ]; + + shellHook = '' + export SEARXNG_BASE_URL="https://search.bueso.eu" + ''; }; } ); diff --git a/opencode.json b/opencode.json index 5702805..929f905 100644 --- a/opencode.json +++ b/opencode.json @@ -29,7 +29,18 @@ "kindly-web-search": { "type": "local", "command": ["kindly-web-search-mcp-server", "start-mcp-server"], - "enabled": true + "enabled": true, + "environment": { + "SEARXNG_BASE_URL": "https://search.bueso.eu" + } + }, + "rust-research": { + "type": "local", + "command": ["rust-research-mcp"], + "enabled": true, + "environment": { + "RUST_LOG": "info" + } } } } diff --git a/packages/default.nix b/packages/default.nix index 88b26c8..0e3ca2f 100644 --- a/packages/default.nix +++ b/packages/default.nix @@ -16,5 +16,6 @@ zotero-mcp = pkgs.callPackage ./zotero-mcp/package.nix { }; pdf-reader-mcp = pkgs.callPackage ./pdf-reader-mcp/package.nix { }; kindly-web-search-mcp-server = pkgs.callPackage ./kindly-web-search-mcp-server/package.nix { }; + rust-research-mcp = pkgs.callPackage ./rust-research-mcp/package.nix { }; # example-mcp-server = pkgs.callPackage ./example-mcp-server/package.nix { }; } diff --git a/packages/rust-research-mcp/package.nix b/packages/rust-research-mcp/package.nix new file mode 100644 index 0000000..4f49ff9 --- /dev/null +++ b/packages/rust-research-mcp/package.nix @@ -0,0 +1,50 @@ +{ + lib, + rustPlatform, + fetchFromGitHub, + pkg-config, + openssl, +}: + +rustPlatform.buildRustPackage rec { + pname = "rust-research-mcp"; + version = "0.6.7-unstable"; + + src = fetchFromGitHub { + owner = "Ladvien"; + repo = "research_hub_mcp"; + rev = "3335c118da9e7a9e9e7f2e608989fbe35557f3c5"; + hash = "sha256-KkIVeFQ8hEL82ZtC+Tie+8T/eZcEoWyq5cRVgdinQEc="; + }; + + cargoHash = "sha256-zwhQ2ksFbedeuzTaJI+9t9of6es7RJa6JwRHQRznqBY="; + + nativeBuildInputs = [ + pkg-config + ]; + + buildInputs = [ + openssl + ]; + + doCheck = false; + + # The build.rs uses vergen to embed git info, which fails without a git repo. + # Set environment variables to satisfy vergen during build. + env = { + VERGEN_GIT_BRANCH = "main"; + VERGEN_GIT_COMMIT_DATE = "2025-09-25"; + VERGEN_GIT_COMMIT_TIMESTAMP = "2025-09-25T19:35:10Z"; + VERGEN_GIT_SHA = "3335c118da9e7a9e9e7f2e608989fbe35557f3c5"; + VERGEN_BUILD_DATE = "2025-09-25"; + VERGEN_BUILD_TIMESTAMP = "2025-09-25T19:35:10Z"; + }; + + meta = with lib; { + description = "MCP server for accumulating and organizing academic knowledge"; + homepage = "https://github.com/Ladvien/research_hub_mcp"; + license = licenses.gpl3Only; + mainProgram = pname; + platforms = platforms.all; + }; +}