zotero-mcp
This commit is contained in:
@@ -9,8 +9,10 @@ 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 |
|
||||
| manim-mcp-server | Execute Manim animation code and return videos | Python |
|
||||
| zotero-mcp | Connect Zotero research library with AI assistants | Python |
|
||||
|
||||
* Usage
|
||||
|
||||
|
||||
@@ -15,6 +15,11 @@
|
||||
"type": "local",
|
||||
"command": ["manim-mcp-server"],
|
||||
"enabled": true
|
||||
},
|
||||
"zotero": {
|
||||
"type": "local",
|
||||
"command": ["zotero-mcp"],
|
||||
"enabled": true
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -13,5 +13,6 @@
|
||||
|
||||
# Add new packages here:
|
||||
academic-search-mcp-server = pkgs.callPackage ./academic-search-mcp-server/package.nix { };
|
||||
zotero-mcp = pkgs.callPackage ./zotero-mcp/package.nix { };
|
||||
# example-mcp-server = pkgs.callPackage ./example-mcp-server/package.nix { };
|
||||
}
|
||||
|
||||
79
packages/zotero-mcp/package.nix
Normal file
79
packages/zotero-mcp/package.nix
Normal file
@@ -0,0 +1,79 @@
|
||||
{
|
||||
lib,
|
||||
python3Packages,
|
||||
fetchFromGitHub,
|
||||
fetchPypi,
|
||||
}:
|
||||
|
||||
let
|
||||
# Internal dependency: pyzotero (not in nixpkgs)
|
||||
pyzotero = python3Packages.buildPythonPackage rec {
|
||||
pname = "pyzotero";
|
||||
version = "1.9.0";
|
||||
format = "wheel";
|
||||
|
||||
src = fetchPypi {
|
||||
inherit pname version;
|
||||
format = "wheel";
|
||||
dist = "py3";
|
||||
python = "py3";
|
||||
hash = "sha256-vbbqhotDQlsQjho/JaFywriPb3XgnmydcNG38/Qq8xE=";
|
||||
};
|
||||
|
||||
propagatedBuildInputs = with python3Packages; [
|
||||
feedparser
|
||||
bibtexparser
|
||||
httpx
|
||||
whenever
|
||||
];
|
||||
|
||||
doCheck = false;
|
||||
pythonImportsCheck = [ "pyzotero" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "Python wrapper for the Zotero API";
|
||||
homepage = "https://github.com/urschrei/pyzotero";
|
||||
license = licenses.blueOak100;
|
||||
};
|
||||
};
|
||||
in
|
||||
python3Packages.buildPythonApplication rec {
|
||||
pname = "zotero-mcp";
|
||||
version = "0.1.2-unstable";
|
||||
pyproject = true;
|
||||
|
||||
src = fetchFromGitHub {
|
||||
owner = "54yyyu";
|
||||
repo = "zotero-mcp";
|
||||
rev = "372da10a3fbf56332eed4547fd40032de45593b8";
|
||||
hash = "sha256-nYtuADZVFAJjnl0Gejnd0dK/VVL+XHttHC3zc2avG8s=";
|
||||
};
|
||||
|
||||
build-system = with python3Packages; [
|
||||
hatchling
|
||||
];
|
||||
|
||||
dependencies = with python3Packages; [
|
||||
pyzotero
|
||||
mcp
|
||||
python-dotenv
|
||||
markitdown
|
||||
pydantic
|
||||
requests
|
||||
fastmcp
|
||||
chromadb
|
||||
sentence-transformers
|
||||
openai
|
||||
google-genai
|
||||
];
|
||||
|
||||
pythonImportsCheck = [ "zotero_mcp" ];
|
||||
|
||||
meta = with lib; {
|
||||
description = "MCP server connecting Zotero with AI assistants for research library access";
|
||||
homepage = "https://github.com/54yyyu/zotero-mcp";
|
||||
license = licenses.mit;
|
||||
mainProgram = "zotero-mcp";
|
||||
platforms = platforms.all;
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user