
OokCite
io.github.TurtleTech-ehf由 GitHub 帳號 TurtleTech-ehf 發布v0.6.5更新於 Nov 9, 2026
Catch fabricated citations: verify DOIs/ISBNs and format them in 2900+ CSL styles.
概覽
OokCite 讓助理驗證 DOI 與 ISBN、解析雜亂的引用文獻,並依數千種 CSL 樣式格式化參考文獻,以找出偽造的引用。
- 可以做什麼
- 驗證與查找文獻:檢查 DOI 是否存在、依 ISBN 查書、從雜亂引用文字反查論文、一次批次解析最多 50 筆、依作者或分類檢索語料庫、檢查 API 健康狀態。格式化引用:依 2900 多種 CSL 樣式格式化 DOI、批次格式化、批次驗證參考文獻、尋找與列出樣式 ID、產生分組的文內標註。管理文獻集合:列出、新增、匯入 BibTeX、RIS 或貼上的清單、匯出為 BibTeX 或 CSL、搜尋、檢查重複、修改條目、合併、標記、排序、刪除。分享與集合操作:建立或撤銷分享連結、檢視共享集合、合併集合、在集合間移動條目。實用工具:產生引用鍵、展開期刊縮寫、正規化參考文獻。帳號與 ORCID:查看用量、依姓名或機構搜尋 ORCID、取得檔案、收錄其著作。
- 適用情境
- 適合撰寫或修訂論文與參考文獻時使用,也適合在引用前確認 DOI 或 ISBN 確實存在,或把貼上的引用清單轉成 BibTeX 或指定引用樣式。
- 執行需求
- 可透過 npm(需 Node.js)或預先建置的執行檔在本機以 stdio 執行,也可透過 Streamable HTTP 搭配 OAuth 登入遠端使用。基本使用不需金鑰(每天 20 次查詢)。OokCite 帳號與 OOKCITE_API_KEY 可提高額度並啟用集合功能;金鑰也可來自 OOKCITE_API_KEY_COMMAND、OOKCITE_API_KEY_FILE 或平台憑證儲存區。需要能連線至 OokCite API 的網路。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 OokCite,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
OokCite MCP Server
[MIT License] [Crates.io] [npm]
Give MCP-capable tools the ability to validate DOIs, format citations, manage
bibliography collections, and catch fabricated references. Returns citation
metadata only -- not PDFs or full-text articles. Desktop clients can run it
over standard input and output. Remote clients use
https://ookcite-api.turtletech.us/mcp.
Quick Start
One command to install and configure:
This auto-detects supported MCP clients and writes the configuration for you. Connect an OokCite account for higher rate limits and collection tools without putting an API key in shell arguments or MCP configuration:
The command opens the TurtleTech dashboard, creates or activates the Free plan,
stores the issued key in the platform credential store, and writes only a
credential reference to detected clients. Use setup --connect --device on a
headless machine.
An existing API key remains supported:
No API key required for basic usage (20 lookups/day): format_citation and a
small plaintext import_bibliography (omit collection, up to 8 items).
Sign up for more.
Paste a list to BibTeX
import_bibliography accepts a numbered or blank-line citation list, not only
.bib / .ris. Omit collection for a small paste: the tool resolves the
items and returns .bib text. With a key, pass collection to save the
resolved entries. export_collection can then emit .bib (format=bib) or
CSL bibliography text (format=csl or a style id such as ieee).
npx @turtletech/ookcite-mcp setup remains the installer. The server never
fetches PDFs.
After changing MCP config, restart the client or reload its MCP servers. Many clients do not hot-reload environment-variable changes for already-running stdio servers.
Install (Alternative Methods)
npm (recommended):
cargo-binstall (fastest, no Node.js):
cargo install (from source):
Pre-built binaries: Download from GitHub Releases for Linux (x86_64, aarch64), macOS (x86_64, aarch64), and Windows.
Configure
If you used setup, you're done. Otherwise, add to your MCP client config:
With an API key:
If you installed globally (npm install -g or cargo install), you can use
"command": "ookcite-mcp" directly instead of npx.
Keeping the key out of the config file
setup --connect uses the platform credential store by default. It refuses to
replace an existing platform credential or named OokCite MCP configuration
unless --replace-credential or --replace-config is given explicitly.
A generic credential manager can be used instead. The store command receives the new key on standard input; it must not expect the key in a command-line argument. The retrieval command prints the key on standard output when the MCP server starts:
For an explicit owner-only file instead of a credential manager:
The file is created with owner-only permissions and is never overwritten. The platform, helper-command, and file forms put references such as these in client configuration:
At startup, source precedence remains OOKCITE_API_KEY,
OOKCITE_API_KEY_COMMAND, OOKCITE_API_KEY_FILE, then the platform credential
reference. With none of them the server starts anonymous. setup --key remains
available for existing deployments that intentionally keep the key in client
configuration.
Credential retrieval obeys two constraints:
- Retrieval receives closed standard input, so it cannot consume MCP JSON-RPC.
- Retrieval is bounded by
OOKCITE_API_KEY_TIMEOUT, which defaults to 10 seconds, and its output is never copied into diagnostics.
Consult your client's MCP documentation for its configuration-file location.
Use the mcpServers.ookcite JSON above when automatic setup is unavailable,
then restart the client or reload its MCP servers.
Optional env (stdio MCP, all clients):
Marketplace plugin
OokCite installs two ways.
From this repository, add marketplace TurtleTech-ehf/ookcite-mcp and
install ookcite@ookcite. That registers the ookcite marketplace and
enables the plugin in plugins/ookcite. The plugin connects to
https://ookcite-api.turtletech.us/mcp and adds three skills: format a
pasted bibliography (/ookcite:format-bibliography), verify references
before submission (/ookcite:verify-references), and build and export a
collection (/ookcite:build-collection). Sign in when asked. Formatting
one citation and checking a short DOI list also work before sign-in, within
the anonymous daily cap. Saving a collection requires the signed-in account.
The web, desktop, and cowork apps use the same address as a directory
connector. Choose sign-in. Submit the connector by that URL, and submit the
plugins/ookcite folder as the plugin bundle. Installing from the
marketplace does not submit either listing.
A remote connector does not have to support dynamic client registration.
The plugin sends the pre-registered public client id ookcite-remote, so
the code client does not call a registration endpoint. Discovery for that
client publishes S256 PKCE and no registration_endpoint. The protected
resource lists that client's issuer first, and its resource field is
https://ookcite-api.turtletech.us/mcp. The client accepts the directory
callback exactly, and loopback redirects on localhost and 127.0.0.1 at
any port. Access tokens must satisfy exp - iat <= 3600 or the resource
server rejects them.
Remote MCP
Use OokCite from a chat product without installing anything. Add this address, choose sign-in, and approve the login when asked:
The chat then sends a short-lived access token:
Lookups count against that signed-in account. A pasted API key is rejected. The transport is stateless Streamable HTTP: one POST, JSON in and JSON out. Select Streamable HTTP and sign-in (OAuth). Do not select the legacy SSE transport, an API key, or "No authentication".
eduGenAI Chat, after ookcite-api.turtletech.us is whitelisted:
ookcite-mcp serve runs your own copy. Desktop clients that spawn a subprocess still use standard input and output.
MCP usage tips
- Prefer batch tools (
verify_references,batch_format,batch_add_to_collection,import_bibliography) over many single-citation calls. - Collection mutations require the signed-in account, or
OOKCITE_API_KEYon a copy you run yourself. Destructive tools (delete_collection,remove_from_collection,unshare_collection) are annotated for clients that honor MCP tool hints. - The server writes diagnostics to stderr only on the MCP path; stdout is reserved for JSON-RPC.
Tools
Lookup & Validation
Formatting
Account
ORCID
Collections (requires sign-in)
Collections are a signed-in feature. The hosted server uses the account from
sign-in. A copy you run yourself uses OOKCITE_API_KEY. A small plaintext
import_bibliography with no collection is the exception: it returns .bib
under the anonymous cap.
Typical workflow:
- Paste a numbered citation list into
import_bibliography(omitcollectionfor a small list) and keep the returned.bib - Or keep
references.bib/library.bibunder version control and import that file into a collection - Use
search_collection,check_duplicates, andexport_collection(biborcsl) while revising - Treat the collection as an audit/export companion, not the only copy of your bibliography
Local overrides: the API does not yet store every field
update_entry_metadata sends, so a copy running on your own machine (stdio, or
serve with auth=none) also keeps each edit in
$XDG_DATA_HOME/ookcite/overrides/<collection>.json and applies it in
export_collection. A signed-in HTTP server keeps no local overrides.
eid_as=pages places article numbers where elsarticle-num prints them. See
docs/local-overrides.md.
Removing a single entry: call search_collection (or check_duplicates) to
see each hit as entry_id: … (and optionally aliases: doi:… when the stored id
is opaque). Pass that entry_id to remove_from_collection, or pass the paper's
bare DOI / doi:10.x/y — the server resolves aliases locally before the API call.
Sharing & Collection Operations
Sharing is available to signed-in accounts with collections. Free accounts can import and batch-add within their daily quota. Merge and batch-move require an Academic or Business plan.
Utilities
These three require an Academic or Business plan.
Plans & Pricing
Re-lookups can be served without quota use when collection metadata is already available to the API. A retrieval that has to resolve the paper again can count against the current plan's quota. Paid Academic checkout is intended for students, researchers, and educators at accredited institutions; a verified ORCID can also qualify a signed-in account for Academic limits.
Anti-Hallucination
Add this to your system prompt:
Before citing any paper, use validate_doi to confirm the reference exists. If validation fails, do not include the citation.
For revision workflows, add:
Keep the project bibliography in a local
.bibfile under version control. Use OokCite collections for verification, deduplication, and export.
How It Works
The MCP server connects to the public OokCite API to look up and format citations. It's a thin MCP wrapper around the OokCite REST API with no local database, and no heavy dependencies.
Sign up for a free account (60 lookups/day), or upgrade to Academic (EUR 4/mo) or Business (EUR 10/mo) for higher monthly API limits, larger collections, paid utilities, merge, and batch-move.
Source layout
The crate is a thin MCP (stdio) wrapper around the public OokCite REST API.
There is no local citation database; all state lives on the API, except the
per-collection metadata overrides described in docs/local-overrides.md.
Collections / entry ids: search_collection and check_duplicates emit
entry_id: … lines. remove_from_collection accepts that id, a bare DOI, or
doi:10.x/y (resolved locally in collection_entries before the DELETE call).
Release: tag v* runs .github/workflows/release.yml (multi-arch GitHub
Release assets, crates.io, npm). Version bumps use cocogitto
(cog.toml + scripts/set-version.sh).
Why server.rs is large: rmcp's #[tool_router] / #[tool] macros keep
handlers on one impl Server. Further file splits without macro workarounds
add little user value; peel tests or add small helpers (resolve_many, shared
Me type) before fighting the macro.
Contributing / local checks
Live MCP smoke (optional; needs OOKCITE_API_KEY): add/search/remove with a
bare DOI on a throwaway collection, then delete_collection.
Documentation
License
MIT. see LICENSE.
來源:README.md,提交 1649321
工具
0版本歷史
3- v0.6.5最新Oct 4, 2026
- v0.6.3Oct 4, 2026
- v0.6.2Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分