Back to Browse

Student Citations MCP Server

Education & ResearchLow Risk10.0MCP RegistryLocal
Free

Server data from the Official MCP Registry

Citation generator MCP server for APA, MLA and Chicago citations from a DOI or ISBN. No account.

About

Citation generator MCP server for APA, MLA and Chicago citations from a DOI or ISBN. No account.

Security Report

10.0
Low Risk10.0Low Risk

Valid MCP server (2 strong, 2 medium validity signals). No known CVEs in dependencies. Package registry verified. Imported from the Official MCP Registry. Trust signals: trusted author (11/11 approved).

5 files analyzed · 1 issue found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-anonymousonyx22-student-citations-mcp": {
      "args": [
        "-y",
        "student-citations-mcp"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

Citations MCP

npm downloads license ci

Paste a DOI or an ISBN into your AI app and get a formatted citation back in APA 7, MLA 9 or Chicago author date, ready to paste into your works cited list. It is a citation generator that runs inside the app you are already writing in, so there is no web page to fill in and no account to create. You can also type the details yourself, or give the DOI or the ISBN, and get the matching in text citation, either in brackets or in the narrative form for a sentence where you name the author. Give several sources in one call and you get them back as an alphabetised works cited list. The wording and punctuation come from tested code, so they are the same every time. Free and open source, no account, no key and nothing stored. It works with Claude, ChatGPT, Cursor, VS Code Copilot and any other app that supports MCP.

Citations MCP compared with BibGuru and Citation Machine

BibGuru and Citation Machine are web pages you fill in and copy from. Citations MCP sits inside the AI app you are already writing in, and it takes a DOI or an ISBN as well as typed details. Here is the side by side.

Citations MCPBibGuruCitation Machine
Where you use itIn the AI app you already have openIn a web page in your browserIn a web page in your browser
What you type inA DOI, an ISBN, or the details of the sourceA URL, a title or an author to search for, or the details you typeThe details you type, or a citation you paste in
Styles you get backAPA 7, MLA 9, Chicago author dateAPA, MLA, Harvard and many more stylesAPA, MLA, Chicago, Harvard and thousands more styles
In text citationYes, with an optional page number, in the parenthetical or the narrative formYesYes
Keeping your sourcesNothing is storedBibGuru Plus saves sources in projects and foldersThe paid tier saves your citations
CostFree, MIT license, open sourceFree, with a paid planFree, with a paid tier
Signing inNeverOnly to save your sourcesOnly to save your citations

Both other tools cover many more styles than this one does. What you get here is a citation in the chat you are writing in, from a DOI or an ISBN, with nothing to sign up for.

Citations MCP compared with the Zotero MCP servers

The other MCP servers for citations are the Zotero ones: zotero-mcp, @oscardvs/zoteus and @xbghc/zotero-mcp. They are the closer competition, because they run inside your app as well. They are also built around a library you keep in Zotero, so they ask more of you first. Here is the side by side.

Citations MCPzotero-mcp@oscardvs/zoteus@xbghc/zotero-mcp
What it works withA DOI, an ISBN, or the details you typeYour Zotero libraryYour Zotero libraryYour Zotero library
What you need firstNode.js 20 or newer, nothing elseZotero on your computer, with the plugin the project shipsZotero on your computer, or an account at zotero.orgAn account at zotero.org, with an API key and a user ID
Signing inNeverOnly if you use the Zotero web libraryOnly for sync and group librariesAlways, the API key is how it reaches your library
Citation stylesAPA 7, MLA 9, Chicago author dateNone of its own, it passes your items to your appAny CSL style, through the citeproc-js libraryEntries as BibTeX, RIS or CSL JSON
What you get backA finished citation, and the in text form with a page numberItems, notes and PDF text from your libraryItems, PDF passages with page numbers, and formatted bibliographiesItems and PDF text, plus exports for a bibliography tool
Reading your libraryNo, it looks up one source at a timeSearch, collections, annotations and PDF textSearch by word or by meaning, PDF passages, annotations and bibliography importsSearch, details, full text, and filtering by group or tag
Writing to your libraryNo, every tool is read onlyNotes, tags, metadata and new itemsAdds, edits, tags, groups and filesCreates, edits, deletes, tags, groups and attachments
Where your sources liveNowhere, nothing is storedIn your Zotero libraryIn your Zotero libraryIn your Zotero library
Good forOne citation now, with nothing to set upWorking inside a library you already keep in ZoteroThe same, with a deeper read of your PDFs and many more stylesThe same, with export formats your bibliography tool can read

All three are open source under the MIT license, as this one is. Two of them talk to the Zotero desktop app, so you install Zotero and keep it running while you work. The third goes through the Zotero web API, so you sign in at zotero.org and paste an API key and your user ID.

That is the trade. The Zotero servers do more with a library you already keep. They search it, read your PDFs, give you a passage with its page number and write notes and tags back into it. Citations MCP covers the other half of the job. You give it a DOI, an ISBN or the details of a source, and it gives you the citation and the in text form, in the chat, with nothing to install, no account and nothing stored. If your course needs one of the many styles Zotero can produce, take one of the Zotero servers. If you need the reference for one essay, this is the shorter path.

Each project keeps its own setup guide: cookjohn/zotero-mcp, oscardvs/zoteus and xbghc/zotero-mcp.

Paste ready output

Here is the same paper in all three styles, with the in text citation and the narrative form for each one. The narrative form is for a sentence where you name the author, as in "LeCun et al. (2015, p. 436) argue that ...". Copy the lines you need.

Deep learning
LeCun, Yann, Yoshua Bengio and Geoffrey Hinton
Nature, 2015, volume 521, issue 7553, pages 436 to 444
DOI 10.1038/nature14539

APA 7
LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. *Nature*, *521*(7553), 436-444. https://doi.org/10.1038/nature14539
In text: (LeCun et al., 2015, p. 436)
Narrative: LeCun et al. (2015, p. 436)

MLA 9
LeCun, Yann, et al. "Deep learning." *Nature*, vol. 521, no. 7553, 2015, pp. 436-444, https://doi.org/10.1038/nature14539.
In text: (LeCun et al. 436)
Narrative: LeCun et al. (436)

Chicago author date
LeCun, Yann, et al. 2015. "Deep learning." *Nature* 521 (7553): 436-444. https://doi.org/10.1038/nature14539.
In text: (LeCun et al. 2015, 436)
Narrative: LeCun et al. (2015, 436)

All three styles at once

If you are comparing styles, pass style as all to format_citation or cite_from_doi. You get one labelled citation for APA 7, MLA 9 and Chicago author date in one reply, instead of three calls. The label above each citation is the style name, so you can pick the one you want. format_bibliography, cite_from_isbn and in_text_citation still take one style at a time.

Install

npx -y student-citations-mcp

Nothing else to install. You need Node.js 20 or newer. The config block for your app is further down this page.

Tools

ToolWhat it does
format_citationFormat a journal article, book, website, book chapter, thesis, report, dataset or preprint from details you type, in APA 7, MLA 9 or Chicago author date. For books you can name the editors and the translators too. Pass style as all to get all three styles in one reply
format_bibliographyFormat several sources as one works cited list, alphabetised by author, in APA 7, MLA 9 or Chicago author date. Each source takes the same fields as format_citation, and dois and isbns lists are looked up and added to the list
cite_from_doiLook up a DOI on Crossref and format the citation. The Crossref record decides the shape, so a book chapter comes back as a chapter and a dissertation comes back as a thesis. Pass style as all to get all three styles in one reply
cite_from_isbnLook up an ISBN on Open Library and format the citation
cite_from_urlFetch a web page and cite it as a website in APA 7, MLA 9 or Chicago author date. It reads the page title, site name and date, and you can override any of them
in_text_citationThe in text citation that matches a source, with an optional page number, in the parenthetical or the narrative form. It takes the authors and year you type, or a DOI or an ISBN and looks up the authors and year for you

All six tools are read only.

Prompts

PromptWhat it does
cite_thisStart a citation in APA 7, MLA 9 or Chicago author date from a DOI, an ISBN or details you type. It fills in the wording the tools use, so you can edit the source and send it

A client that supports prompts, such as Claude Desktop or VS Code, shows it in the chat as a command you can run. In Claude Desktop it is /cite_this.

The prompt looks nothing up. It only writes out the request, so you can check it before you send it. Here is the message it puts in the chat when you run it with no arguments:

Cite this source in APA 7.

Use the tool that fits the source: cite_from_doi for a DOI, cite_from_isbn for an ISBN, format_citation for details you type and in_text_citation for the in text form.

Example prompts:
- "Cite this journal article in APA 7: Learning to learn by John Kenneth Smith and Alice Jones, 2020, Journal of Study Skills, volume 4, issue 2, pages 11-25."
- "Cite 10.1038/nature14539 in APA."
- "Cite ISBN 978-0-262-03384-8 in APA 7."
- "Give the APA in text citation for Smith and Jones 2020 on page 14."

It takes two arguments. style picks the style, which is APA 7 unless you say otherwise, and source is the DOI, the ISBN or the details you want to cite. Give it a DOI and the message says so and points at cite_from_doi.

What you can ask

  • "Cite 10.1038/nature14539 in APA."
  • "Cite 10.1038/nature14539 in all three styles."
  • "Cite this web page in APA: https://example.edu/study."
  • "Cite the DOI of this book chapter in APA, with the editors of the book."
  • "Make an MLA citation for ISBN 9780262033848."
  • "Format this as Chicago: Smith and Jones, 2020, Learning to Learn, Journal of Study Skills, volume 4, issue 2, pages 11 to 25."
  • "What's the in text citation for a quote on page 14 of that paper?"
  • "Give me the APA in text citation for DOI 10.1038/nature14539 on page 436."
  • "What's the MLA in text citation for ISBN 9780262033848?"
  • "Give me the APA citation for that in narrative form, so I can name the author in my sentence."
  • "Format this book in MLA with the editors taking the author's place: A dictionary of study words by Jamie Patel and Robin Cole, 2019, North Gate Press."
  • "Cite this translated book in APA: My brilliant friend by Elena Ferrante, translated by Ann Goldstein, 2012, Europa Editions."
  • "Cite this thesis in APA: Learning to learn by Jane Doe, 2021, North Gate University, Ph.D. dissertation."
  • "Put these sources into one APA works cited list, alphabetised by author."

Example

Ask for "Cite 10.1038/nature14539 in APA." and the server gives back:

LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. *Nature*, *521*(7553), 436-444. https://doi.org/10.1038/nature14539

(From Crossref. Check it against your style guide.)

Italics come back as asterisks so your app can style them.

If this saved you a formatting headache, please give the repo a star. It sits at 0 stars, and one star helps the next student find it.

Editors and translators

Edited and translated books are common in coursework, and each style puts those names in its own spot. format_citation takes editors and translators in the same shape as authors. When a book has editors and no authors, the editors take the author's place. When the book has an author as well, the extra names go after the title, next to the edition. Here is one edited book and one translated book in all three styles.

A dictionary of study words
Jamie Patel and Robin Cole, editors, 2019, North Gate Press

APA 7
Patel, J., & Cole, R., Eds. (2019). *A dictionary of study words*. North Gate Press.

MLA 9
Patel, Jamie, and Robin Cole, editors. *A dictionary of study words*. North Gate Press, 2019.

Chicago author date
Patel, Jamie, and Robin Cole, eds. 2019. *A dictionary of study words*. North Gate Press.

My brilliant friend
Elena Ferrante, 2012, translated by Ann Goldstein, Europa Editions

APA 7
Ferrante, E. (2012). *My brilliant friend* (Goldstein, A., Trans.). Europa Editions.

MLA 9
Ferrante, Elena. *My brilliant friend*. Translated by Ann Goldstein, Europa Editions, 2012.

Chicago author date
Ferrante, Elena. 2012. *My brilliant friend*. Translated by Ann Goldstein. Europa Editions.

Source types

With a DOI the server reads the Crossref record and follows the type it finds. A book does not come back as a journal article with a volume and an issue it does not have.

Crossref typeWhat you get back
journal-articleA journal article, with its volume, issue and pages
book, monograph, edited-book, reference-book, proceedingsA book, and the editors take the author's place when the book has no author
book-chapter, proceedings-articleA chapter in its book, with the pages it covers
dissertationA thesis, with the degree and the university
report, standardA report, with its report number
datasetA data set
posted-contentA preprint, with the repository it was posted in

format_citation takes the same kinds of source, so you can type the details of a chapter, a thesis, a report, a data set or a preprint when there is no DOI to look up. A journal article and a chapter also need container, the journal name or the book title they appear in. Without it the server returns an error that names the container, instead of a citation with a missing part.

Works cited list

format_bibliography takes several sources in one call and returns them as one list, alphabetised by the first author's family name. A source with no author is alphabetised by its title, and a leading "A", "An" or "The" is skipped. Each source takes the same fields as format_citation, so a journal article, a book and a website can sit in the same list. You can also pass dois and isbns lists, which are looked up on Crossref and Open Library and added to the list, up to 50 in one call. If one lookup fails, the reply is an error that names it. Here are those three sources in APA 7.

Cormen, T. H. (2009). *Introduction to algorithms* (3rd ed.). MIT Press.

Smith, J. K., & Jones, A. (2020). Learning to learn. *Journal of Study Skills*, *4*(2), 11-25.

*The water cycle*. Example Uni. https://example.edu/water

Add it to your app

Claude Desktop. Put it in claude_desktop_config.json.

{
  "mcpServers": {
    "citations": {
      "command": "npx",
      "args": ["-y", "student-citations-mcp"]
    }
  }
}

Cursor. Put it in .cursor/mcp.json.

{
  "mcpServers": {
    "citations": {
      "command": "npx",
      "args": ["-y", "student-citations-mcp"]
    }
  }
}

VS Code. Put it in .vscode/mcp.json. VS Code uses a servers key, not mcpServers.

{
  "servers": {
    "citations": {
      "type": "stdio",
      "command": "npx",
      "args": ["-y", "student-citations-mcp"]
    }
  }
}

Restart your AI app, then try one of the questions above. For Claude Code, run claude mcp add citations -- npx -y student-citations-mcp.

Frequently asked questions

Does it work with Cursor?

Yes. It runs over MCP, so it works in Cursor, Claude Desktop, VS Code with Copilot, ChatGPT and any other app that supports MCP. The config block is the same for every app, only the file it goes in changes. Copy that block into your app's MCP config, restart the app and ask for a citation.

Is it free?

Yes. It is MIT licensed and free to use. There is no account, no key, no paid plan and no trial that runs out. The DOI and ISBN lookups go to Crossref and Open Library, and the server sends no key, so there is nothing else to sign up for.

Do I need an account or an API key?

No. There is no sign up step and no key to paste into a config file. The install command is the whole setup.

How is this different from the Zotero MCP servers?

They are the other MCP servers for citations, and they are the closer competition, because they run inside your app as well. They are built around a Zotero library, so they need Zotero installed or a Zotero account, and they can search that library, read your PDFs and write back to it. This server works on one source at a time. You give it a DOI, an ISBN or the details and it gives you the citation, with nothing to install, no account and nothing stored. The comparison table above has the details.

What happens to my data?

Nothing is stored. The server keeps no list of your sources, writes no files and sends no usage data anywhere. It takes the details you type in the chat and, for a DOI, an ISBN or a web page URL, sends that identifier or address to Crossref, Open Library or the page itself to fetch the record or the page. The request also carries a user agent line with the server name and version, plus your email address if you set CROSSREF_EMAIL.

How do I install it?

Run npx -y student-citations-mcp. You need Node.js 20 or newer, and that is the only thing to install. npx fetches the package into the npm cache and runs it, so nothing is added to your project. Then add the config block to your app and restart it.

Does it work without internet?

Partly. format_citation works offline, because it formats the details you type. in_text_citation works offline too when you type the authors and the year. It also takes a DOI or an ISBN, and those lookups need a connection, as do cite_from_doi, cite_from_isbn and cite_from_url, which fetch the record or the page from Crossref, Open Library or the web address you give.

Which styles can I ask for?

APA 7, MLA 9 and Chicago author date, and no others. Ask for "APA", "MLA 9" or "Chicago" in the chat and the server works out the style name. format_citation and cite_from_doi also take all, which returns all three styles in one reply. A request for a style it does not have comes back with an error that names the three it knows.

What can I cite?

A journal article, a book, a book chapter, a thesis, a report, a dataset, a preprint or a website. With a DOI the server reads the Crossref record and follows the type it finds, so a journal article comes back as an article, an edited book comes back as a book with its editors, a book chapter or a conference paper comes back as a chapter, a dissertation comes back as a thesis, and a preprint comes back with the repository it was posted in. With an ISBN it reads the Open Library record for the book. If the lookup fails, or the source has no DOI, format_citation takes the details you type and formats them.

Can I cite a book with editors or translators?

Yes. format_citation takes editors and translators in the same shape as authors, and each style puts those names where it wants them. The Editors and translators section above shows a worked example for each style.

Does it check the citation against my style guide?

No. It formats from fixed rules in the code, and every style has cases it does not cover, such as editors and translators inside a journal article, chapter numbers and multi volume sets. Check the result against your course's style guide or your instructor's rules.

Will it touch my files or my bibliography?

No. The tools only return text in the chat. Nothing is written to your project and nothing is added to your reference list, so copy a citation into your own bibliography if you want to keep it.

Can I use it to build a works cited list?

Yes. format_bibliography takes several sources and returns them alphabetised as one list, in APA 7, MLA 9 or Chicago author date, ready to paste into your document. Each source takes the same fields as format_citation. The server keeps no list of your sources, so your works cited list stays where you put it.

How do I remove it?

Take the block out of your app's MCP config and the server stops running. There is nothing else to uninstall, since npx keeps its copy in the npm cache rather than in your project.

Can I paste a DOI link or an ISBN with dashes?

Yes. cite_from_doi and in_text_citation take a plain DOI like 10.1038/nature14539 or a doi.org link, and cite_from_isbn and in_text_citation take a 10 or 13 digit ISBN with or without dashes.

Is the source code open?

Yes. The MIT license and the full source are on GitHub, and the formatting rules live in src/format.ts if you want to read them.

Good to know

  • Always check the result against your course's style guide or your instructor's rules. Styles have many special cases this tool does not cover, such as editors and translators inside a journal article, chapter numbers and multi volume sets.
  • Titles are used as the source gives them. APA wants sentence case for article titles, so fix capitals if your style needs it.
  • Optional environment variables, CROSSREF_EMAIL puts your address in lookups so Crossref can reach you about heavy use, and CROSSREF_BASE_URL and OPENLIBRARY_BASE_URL point to other servers for testing.

Development

npm install
npm run build
npm test

Tests run against fake Crossref and Open Library servers, so they need no network. The test runner needs Node.js 22.12 or newer, and the CI workflow uses Node 22.

The CI workflow installs the dependencies, builds the server and runs the tests on every push to main and on every pull request. One of those tests checks that the version is the same in package.json, server.json, llms.txt and glama.json, so the npm release and the registry entry stay in step. Another one checks that the paste ready example above is exactly what cite_from_doi returns for that DOI, so the page and the code stay in step. One more checks that the npm keywords and the descriptions keep the words students type when they look for a citation tool. A test also checks that the cite_this prompt is registered and that the message it returns carries the same example wording as the citation tool descriptions.

More free student MCP servers

All free, open source and read only where they touch your accounts. Browse the full list at brightspacemcp.com/more-mcps.

ServerWhat it does
Brightspace MCPD2L Brightspace for AI. Due dates with real submission status, grades, a target grade calculator and course files.
Canvas MCPCanvas LMS for AI, read only. Due dates, missing work, grades and announcements.
Moodle MCPMoodle for AI, read only. Due dates, overdue work, grades and announcements.
Google Classroom MCPGoogle Classroom for AI, read only. Todos, due dates, missing work and grades.
GPA Calculator MCPGPA, grade conversion and the grade you need on the final, for AI. Works offline, no account.
Study Planner MCPExam study schedules, spaced repetition dates, pomodoro plans and assignment milestones. Works offline.
Paper Finder MCPSearch scholarly papers, find open access copies and related work through OpenAlex. No key needed.
BibTeX Reference Manager MCPClean, convert, dedupe and lint BibTeX, RIS and CSL JSON reference lists, and make cite keys. Works offline.
Open Textbook Finder MCPFind free legal copies of textbooks on OpenStax, DOAB and Open Library, look up editions by ISBN and suggest cheaper older ones.
STEM Calculator MCPChemistry and physics homework math: molar mass, balancing equations, grams to moles, unit conversion and significant figures. Works offline.

License

MIT

Reviews

No reviews yet

Be the first to review this server!