MCP Server

MCP Server

By semo94 GitHub

-

Overview

What is MCP Server?

MCP Server is an implementation of the Model Context Protocol (MCP) using Node.js and TypeScript, designed to standardize how applications provide context to Large Language Models (LLMs).

How to use MCP Server?

To use MCP Server, clone the repository, install dependencies, build the project, and run the server using either stdio or SSE transport methods.

Key features of MCP Server?

  • Cross-document search tool for retrieving relevant information
  • Document management with listing and metadata resources
  • Document Q&A prompt template for answering questions about documents
  • Support for stdio and SSE transport methods
  • Comprehensive logging system
  • Configuration via environment variables

Use cases of MCP Server?

  1. Integrating AI applications with various data sources.
  2. Managing and querying documents efficiently.
  3. Providing context to LLMs for better responses.

FAQ from MCP Server?

  • What is the purpose of MCP?

MCP standardizes communication between AI applications and data sources.

  • What are the prerequisites for running MCP Server?

You need Node.js 18+ and npm installed.

  • How can I change the default port?

You can change the port by setting the PORT environment variable or using the port argument when starting the server.

Content

MCP Server

A Model Context Protocol (MCP) server implementation using Node.js and TypeScript.

What is MCP?

The Model Context Protocol (MCP) is an open protocol that standardizes how applications provide context to LLMs (Large Language Models). It allows for seamless communication between AI applications and various data sources and tools.

Features

This server implementation provides:

  • Cross-document search tool for retrieving relevant information
  • Document management with document listing and metadata resources
  • Document Q&A prompt template for answering questions about documents
  • Support for both stdio and SSE transport methods
  • Comprehensive logging system
  • Configuration via environment variables

Getting Started

Prerequisites

  • Node.js 18+ and npm

Installation

  1. Clone the repository
  2. Install dependencies:
npm install
  1. Build the project:
npm run build

Running the Server

Using stdio (for integration with MCP clients)

npm start

Using SSE (for web-based usage)

npm start -- --transport=sse

The server will start on port 3000 by default. You can change this by setting the PORT environment variable or using the port argument:

npm start -- --transport=sse --port=8080

Or:

PORT=8080 npm start -- --transport=sse

API

Tools

  • cross_document_search: Search across documents for relevant information
    • Parameters:
      • query (string): The search query
      • max_results (number, default: 5): Maximum number of results to return

Resources

  • documents://list: Get a list of available documents
  • document://{id}: Get metadata for a specific document

Prompts

  • document_qa: Q&A about document content
    • Parameters:
      • document_id (string): The ID of the document to query
      • question (string): The question to ask about the document

Configuration

The server can be configured through environment variables:

  • SERVER_NAME: Name of the server (default: "document-archive-mcp-server")
  • SERVER_VERSION: Server version (default: "1.0.0")
  • ENABLE_RESOURCES: Enable/disable resources (default: true)
  • ENABLE_TOOLS: Enable/disable tools (default: true)
  • ENABLE_PROMPTS: Enable/disable prompts (default: true)
  • PORT: Default port for SSE transport (default: 3000)
  • TRANSPORT_TYPE: Default transport type (default: "stdio")
  • LOG_LEVEL: Log level (default: "info")
  • LOG_DIR: Directory for log files (default: "logs")
  • LOG_FILE: Main log file name (default: "combined.log")
  • ERROR_LOG_FILE: Error log file name (default: "error.log")
  • ENABLE_FILE_LOGGING: Enable file logging (default: true in production, false in development)

Development

To run the server in development mode with auto-reloading:

npm run dev

For SSE transport in development mode:

npm run dev -- --transport=sse

License

ISC

No tools information available.
No content found.