Catalog PyPI
PACKAGE EXPLORERView in registry

agent-society-mcp-client-wrapper

PyPI

A Python library which wraps around Anthropic's low-level MCP client

Versions collected1
Direct dependencies4From release 0.0.3
Last observed20 Oct, 23:27 UTC

README

Version 0.0.3 documentation

MCP Wrapper for AgentSociety

A library that wraps low-level MCP client functionality, exposing it for easy usage as tools within a LangChain workflow. This enables seamless integration of remote MCP tools for language model workflows and agent applications.

Structure

Library Code: mcpwrap/

  • client.py — Basic utility to invoke a LangChain model with a set of tools.
  • server_stub.py — Async abstraction (ServerSession) for connecting to and interfacing with an MCP server, exposing MCP tools for LangChain.
  • multi_mcp_model.py — Orchestrates multiple MCP server sessions and integrates their toolsets for use by one BaseChatModel. Handles async invocation and batching of tool requests.
  • llm_integration.py — Converts MCP tool schemas (JSON Schema) into dynamic, structured LangChain tools using Pydantic models.
  • (You may need to install mcp and LangChain dependencies.)

Example App: sample/

  • Provides a minimal, integration-tested example of how to use this library in practice. (See directory for details.)

Usage Overview

1. Connect MCP servers as tool providers

from mcpwrap.server_stub import ServerSession

session = ServerSession(name="example", url="http://localhost:8080")
await session.initialize()  # Async context

2. Compose Multi-server Tools for LangChain

from langchain_core.language_models.chat_models import BaseChatModel
from mcpwrap.multi_mcp_model import MultiMcpModel

base_model = ... # Any supported BaseChatModel
mcp_model = MultiMcpModel(
    base_model=base_model,
    mcp_servers=[session]  # Add as many as you like
)
await mcp_model.initialize()

3. Use in a Chat Workflow

results = await mcp_model.ainvoke(messages)  # messages: List[BaseMessage]

Features

  • Wraps multiple MCP servers: Maps their tools to a common namespace for use as LangChain tools.
  • Schema Conversion: Converts arbitrary MCP tool JSON schemas into Pydantic models for argument validation.
  • Async, batched operations: Tools are called concurrently when invoked by an LLM agent.
  • Error and retry handling: Optionally retries failed server/tool executions.

Requirements

  • pip install -r requirements.txt

Notes

  • Ensure MCP servers are reachable at their configured URLs.
  • Schema support currently assumes JSON Schema Draft 7 compatibility for tool arguments.

Contributing

PRs, issues, and questions are welcome!

Downloads & popularity

Awaiting observations

No metric observations yet

Download counts and popularity will appear here as the collector receives them.

Versions 1

Collected releases
VersionPublishedDirect dependenciesOpen version
0.0.32 Jul 20254

Package advisories

0
No matching advisories collected

This describes our collected data; it is not a security assessment.

Metadata history

Meaningful changes
Current collected state Current

Observed since 20 Oct, 23:27 UTC

No superseded metadata states collected. Unchanged observations do not create new revisions.

Record identity

package:6753017fdde7b7f8cb2ec5dd3dc0701552ea6d328dca7632a6f0100c9c0642c1