Documents-MCP-Server
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Documents-MCP-ServerSummarize the key points from @deposition.md"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
MCP Chat
MCP Chat is a command-line interface application that enables interactive chat capabilities with AI models through the Anthropic API. The application supports document retrieval, command-based prompts, and extensible tool integrations via the MCP (Model Control Protocol) architecture.
Prerequisites
Python 3.9+
Anthropic API Key
Related MCP server: MCP Chat
Setup
Step 1: Configure the environment variables
Create or edit the
.envfile in the project root and verify that the following variables are set correctly:
ANTHROPIC_API_KEY="" # Enter your Anthropic API secret keyStep 2: Install dependencies
Option 1: Setup with uv (Recommended)
uv is a fast Python package installer and resolver.
Install uv, if not already installed:
pip install uvCreate and activate a virtual environment:
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activateInstall dependencies:
uv pip install -e .Run the project
uv run main.pyOption 2: Setup without uv
Create and activate a virtual environment:
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activateInstall dependencies:
pip install anthropic python-dotenv prompt-toolkit "mcp[cli]==1.8.0"Run the project
python main.pyUsage
Basic Interaction
Simply type your message and press Enter to chat with the model.
Document Retrieval
Use the @ symbol followed by a document ID to include document content in your query:
> Tell me about @deposition.mdCommands
Use the / prefix to execute commands defined in the MCP server:
> /summarize deposition.mdCommands will auto-complete when you press Tab.
Development
Adding New Documents
Edit the mcp_server.py file to add new documents to the docs dictionary.
Implementing MCP Features
To fully implement the MCP features:
Complete the TODOs in
mcp_server.pyImplement the missing functionality in
mcp_client.py
Linting and Typing Check
There are no lint or type checks implemented.
Available Tools
2 toolsedit_doc_contentsB
Edit the contents of a document and return the updated content.
| Name | Required | Description | Default |
|---|---|---|---|
| doc_id | Yes | The ID of the document that will be edited. | |
| new_str | Yes | The string to replace the old string with. | |
| old_str | Yes | The string to be replaced in the document. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden of behavioral disclosure. It notes that the updated content is returned, but omits critical mutation details: what happens if old_str is absent or appears multiple times, whether the edit is reversible, permission requirements, or failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single, front-loaded sentence with no padding. The action and the return behavior are stated in minimal space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The schema fully documents the three parameters and the description mentions the return value, but with no annotations and no output schema, an agent lacks information about collision/not-found behavior and side effects expected of a content mutation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so doc_id, old_str, and new_str are already fully documented in the schema. The description adds no additional parameter semantics beyond what is structured, making the baseline 3 appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Edit the contents of a document'), making the tool's purpose immediately clear. However, it does not name or differentiate itself from the sibling read_doc_contents, so an agent gets no explicit signal about which of the two to pick beyond the obvious edit/read contrast.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no prerequisites, and no mention of the sibling read_doc_contents as an alternative. Usage is only weakly implied by the word 'Edit'.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_doc_contentsB
Read the contents of a document and return it as a string.
| Name | Required | Description | Default |
|---|---|---|---|
| doc_id | Yes | The ID of the document to read. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose the return format ('return it as a string'), which is useful, but says nothing about permission requirements, failure modes for missing documents, or size handling. Adequate but thin for a zero-annotation tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single front-loaded sentence with no waste. It is appropriately sized for such a simple operation, though it is almost too terse to add value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter read tool with no output schema, stating the verb, resource, and return type covers what an agent needs to invoke it. The remaining gaps (auth, errors) are minor for this complexity level.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one parameter, doc_id, and the schema already documents it fully at 100% coverage. The description adds no meaning beyond the schema (e.g., ID format or source of the ID), so this is the baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (read) and resource (document contents) plus the return format. It does not name the sibling edit_doc_contents, but the read/edit distinction is obvious enough that an agent can differentiate without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No indication of when to use this versus edit_doc_contents, no prerequisites, no mention of conditions like permissions or document types. The sibling exists but is never referenced.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
2 tool updates
v0.1.0- First observed
edit_doc_contents - First observed
read_doc_contents
TDQS
Scored across 2 tools
The two tools have clearly distinct purposes: read_doc_contents retrieves content, while edit_doc_contents modifies it. There is no overlap or ambiguity in their intended use.
Both tools follow a consistent verb_noun pattern (read_doc_contents, edit_doc_contents), with the same object name 'doc_contents' and clear action verbs. The naming is predictable and readable.
Two tools is borderline thin for a document management server. While each tool earns its place, the set lacks basic operations like create, delete, or list, making the surface feel incomplete rather than well-scoped.
The server only supports reading and editing existing documents. It is missing create, delete, and list/search operations, which are fundamental for a documents domain and will cause agent failures when trying to manage documents beyond read/edit.
Maintenance
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
Real-time chat for AI agents. Claude Code, Cursor, Cline and Codex join channels over MCP.
Use AI models for chat, image, and video generation from Claude Code and other MCP hosts.
Related MCP Servers
- FlicenseBqualityDmaintenanceEnables interactive chat with AI models and document retrieval via the Anthropic API, supporting command-based prompts and MCP tool integrations.2-
- FlicenseBqualityDmaintenanceEnables interactive chat with AI models through the Anthropic API, supporting document retrieval and command-based prompts.2-
- FlicenseBqualityDmaintenanceEnables interactive AI chat with document retrieval and command-based tool integrations via the Model Control Protocol.2-
- FlicenseCqualityCmaintenanceEnables interactive chat with AI models via Anthropic API, supporting document retrieval and command-based prompts through the MCP architecture.3-