mcp-common

Crates.iomcp-common
lib.rsmcp-common
version0.1.14
created_at2025-12-30 12:55:37.73745+00
updated_at2026-01-11 18:33:33.683166+00
descriptionCommon types and utilities shared across MCP proxy components
homepage
repositoryhttps://github.com/nuwax-ai/mcp-proxy
max_upload_size
id2012598
size64,939
soddygo (soddygo)

documentation

README

MCP Common

English | 简体中文


MCP Common

Shared types and utilities for MCP proxy components.

Overview

mcp-common provides common functionality shared across mcp-sse-proxy and mcp-streamable-proxy to avoid code duplication.

Features

  • Configuration Types: McpServiceConfig, McpClientConfig for unified configuration management
  • Tool Filtering: ToolFilter for filtering MCP tools by name or pattern
  • OpenTelemetry Support: Optional telemetry features for distributed tracing

Feature Flags

  • telemetry: Basic OpenTelemetry support
  • otlp: OTLP exporter support (for Jaeger, etc.)

Installation

Add to Cargo.toml:

[dependencies]
mcp-common = { version = "0.1.5", path = "../mcp-common" }

Usage

use mcp_common::{McpServiceConfig, McpClientConfig, ToolFilter};

// Create client configuration
let client_config = McpClientConfig::new("http://localhost:8080/mcp")
    .with_headers(vec![("Authorization".to_string(), "Bearer token".to_string())]);

// Create service configuration
let service_config = McpServiceConfig::new("my-service".to_string())
    .with_persistent_type();

// Use tool filter
let filter = ToolFilter::new(vec!["tool1".to_string(), "tool2".to_string()]);

Development

# Build
cargo build -p mcp-common

# Test
cargo test -p mcp-common

# With features
cargo build -p mcp-common --features telemetry,otlp

License

MIT OR Apache-2.0

Commit count: 1

cargo fmt