{"name":"io.github.jtl-neo/crossref-mcp","slug":"jtl-neo-crossref-mcp","title":null,"description":"MCP server wrapping the Crossref REST API for scholarly metadata.","url":"https://mcp.market/server/jtl-neo-crossref-mcp","rating":null,"grade":"C","score":65,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":17,"stars":0,"forks":0,"downloads_week":34,"last_push_at":"2026-06-24T11:35:20.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"mixed","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/jtl-neo/crossref-api-MCP","website":"https://github.com/jtl-neo/crossref-api-MCP","version":"0.1.0","remotes":[],"packages":[{"registryType":"pypi","identifier":"crossref-mcp","version":"0.1.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Email for Crossref's polite pool (recommended).","name":"CROSSREF_MAILTO"},{"description":"Optional Crossref Plus API token.","isSecret":true,"name":"CROSSREF_PLUS_TOKEN"}]},{"registryType":"oci","identifier":"docker.io/heyinnaneo/crossref-mcp:0.1.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Email for Crossref's polite pool (recommended).","name":"CROSSREF_MAILTO"},{"description":"Optional Crossref Plus API token.","isSecret":true,"name":"CROSSREF_PLUS_TOKEN"},{"description":"Optional X-API-Key for HTTP transport.","isSecret":true,"name":"MCP_API_KEY"}]}],"tools":[{"name":"get_funder","description":"Fetch one funder by its Crossref Funder Registry id (e.g. 100000001).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_funder_works","description":"List works funded by a given funder id.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_journal","description":"Fetch one journal by ISSN (NNNN-NNNN; hyphen optional).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_journal_works","description":"List works published in a given journal (by ISSN).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_member","description":"Fetch one member (publisher) by numeric Crossref member id.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_member_works","description":"List works published by a given member id.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_prefix","description":"Look up the owner of a DOI prefix (e.g. \"10.1038\").","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_type","description":"Fetch one work type by id (e.g. \"journal-article\").","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_work","description":"Fetch a single work's metadata by DOI.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_work_quality","description":"Look up the registration agency for a DOI (Crossref, DataCite, ...).","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_work_references","description":"List the reference list of a work (the works it cites), by DOI.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_licenses","description":"List licenses Crossref has seen. No single-license lookup exists.","write_action":false,"price_micros":0,"input_schema":null},{"name":"list_types","description":"List Crossref work types (journal-article, book-chapter, ...).","write_action":false,"price_micros":0,"input_schema":null},{"name":"ping","description":"Health check tool: returns the server name and version.","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_funders","description":"Search funding bodies by name. Returns funder id, name, location.","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_journals","description":"Search journals by title/keyword. Returns title, ISSNs, publisher.","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_members","description":"Search Crossref members (publishers/societies). Returns id + primary name.","write_action":false,"price_micros":0,"input_schema":null},{"name":"search_works","description":"Search Crossref works (articles, books, datasets, ...).","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":65,"grade":"C","scanned_at":"2026-09-27T12:16:13.792Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-27T12:16:13.733Z","components":{"code":{"score":20,"max":25,"notes":["23 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":8,"max":15,"notes":["last push 95 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[{"id":"exec.eval","severity":"medium","component":"code","title":"eval / new Function used","evidence":"crossref_mcp-0.1.0/src/crossref_mcp/ratelimit.py: … allowed, wait = await self._redis.eval( _LUA_TOKEN_BUCKET, …"}],"inputs":{"packages":[{"registryType":"pypi","identifier":"crossref-mcp","version":"0.1.0","found":true,"weeklyDownloads":34,"license":"MIT","dependencyCount":5,"publishedAt":"2026-06-03T09:07:11.905377Z","repositoryUrl":"https://github.com/jtl-neo/crossref-api-MCP"}],"repo":{"found":true,"owner":"jtl-neo","repo":"crossref-api-MCP","archived":false,"pushedAt":"2026-06-24T11:35:20Z","stars":0,"forks":0,"openIssues":4,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/105228706?v=4","ownerCreatedAt":"2022-05-09T15:24:24Z","license":"MIT"},"icon":{"url":null,"source":"none"},"presence":{"stars":0,"forks":0,"downloadsWeek":34,"license":"MIT","lastPushAt":"2026-06-24T11:35:20.000Z","score":17}}}},"grade_history":[],"reviews":[]}