Keyphrases Mcp

io.github.IvanRublevPublished by GitHub account IvanRublevv0.0.4Updated Oct 24, 2026

An MCP server to extract keyphrases from a text with the BERT model

VerifiedSTDIODesktop onlyFiles & StorageKnowledge & Memory

Overview

AI-generated overview

Extracts keyphrases from local text files using a BERT-based pipeline, returning only the keyphrases to the assistant.

What you can do
Runs a KeyBERT pipeline that combines spaCy preprocessing with BERT sentence embeddings to generate candidate keyphrases, rank them by cosine similarity to the document, and select a diverse top-N set via maximal marginal relevance. The assistant can ask for a specific number of keyphrases and optionally supply stop words to ignore. It reads files from allowed local directories and exposes only the extracted keyphrases, not the original file content.
When to use it
Useful when an assistant needs to summarize or tag documents by topic without loading whole files into context, for example generating document metadata, spotting themes in reviews or articles, or producing features for later classification and clustering.
Requirements
Runs locally over stdio as a PyPI package (keyphrases-mcp), typically launched with uvx, so a Python runtime and the package download are needed. It reads files from allowed local directories and downloads or loads spaCy and sentence-transformer models. No accounts, API keys, or environment variables are declared.
Before you install
It reads local files from the directories it is allowed to access, so scope those directories carefully. Model downloads and first-run processing can be slow or resource-heavy. No credentials, payments, or write actions are declared.

Installation

In SourceWeft

  1. Open Keyphrases Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

🔤 Keyphrases-MCP

Empowering LLMs with authentic keyphrase Extraction

Built with the following tools and technologies:

[MCP] [PyTorch] [Python] [uv]


Overview

This Keyphrases MCP Server is a natural language interface designed for agentic applications to extract keyphrasess from provided text. It integrates seamlessly with MCP (Model Content Protocol) clients, enabling AI-driven workflows to extract keyphrases more accurately and with higher relevance using the BERT machine learning model. It works directly with your local files in the allowed directories saving the context tokens for the LLM. The application ensures secure document processing by exposing only extracted keyphrases to the MCP client, not the original file content.

Using this MCP Server, you can ask the following questions:

  • "Extract 7 keyphrases from the file. [ABSOLUTE_FILE_PATH]"
  • "Extract 3 keyphrases from the given file ignoring the stop words. Stop words: former, due, amount, [OTHER_STOP_WORDS]. File: [ABSOLUTE_FILE_PATH]"

Keyphrases help users quickly grasp the main topics and themes of a document without reading it in full and enable the following applications:

  1. tags or metadata for documents, improving organization and discoverability in digital libraries
  2. emerging trends, sentiment, identified from customer reviews, social media, or news articles
  3. features or inputs for other tasks, such as text classification, clustering

Reasoning for keyphrases-mcp

Autoregressive LLM models such as in Claude or ChatGPT process text sequentially, which—not only limits their ability to fully contextualize keyphrases across the entire document—but also suffers from context degradation as the input length increases, causing earlier keyphrases to receive diluted attention.

Bidirectional models like BERT, by considering both left and right context and maintaining more consistent attention across the sequence, generally extract existing keyphrases from texts more accurately and with higher relevance especially when no domain-specific fine-tuning is applied.

However, as autoregressive models adopt longer context windows and techniques such as input chunking, their performance in keyphrase extraction is improving, narrowing the gap with BERT. And domain-specific fine-tuning can make autoregressive LLM model to outperform the BERT solution.

This MCP server combines BERT for keyphrase extraction with an autoregressive LLM for text generation or refinement, enabling seamless text processing.

How it works

The server uses a KeyBERT framework for the multi-step extraction pipeline combining spaCy NLP preprocessing with BERT embeddings:

  1. Candidate Generation: KeyphraseCountVectorizer identifies meaningful keyphrase candidates using spaCy's en_core_web_trf model and discarding stop words
  2. Semantic Encoding: Candidates and document are embedded using paraphrase-multilingual-MiniLM-L12-v2 sentence transformer
  3. Relevance Ranking: KeyBERT calculates cosine similarity between candidate keyphrase and document embeddings
  4. Diversity Selection: Maximal Marginal Relevance (MMR) ensures diverse, non-redundant keyphrases
  5. Final Output: Top N most relevant and diverse keyphrases are selected and sorted alphabetically

See configuration document for details.

Documentation

License

This project is licensed under the MIT License.

Contact

For questions or support, reach out via GitHub Issues.

Source: README.md at commit 006daa8

Tools

0
SourceWeft has not started this package in its sandbox yet, so its tools are not known.

Version history

1
  1. v0.0.4LatestSep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts