Python SDK for MCP server observability, built on OpenTelemetry. Gain insight into agent usage patterns, contextualize tool calls, and analyze server performance across platforms. Integrate with any OpenTelemetry ingest service including the Shinzo platform.
Config is the same across clients — only the file and path differ.
{
"mcpServers": {
"shinzo-py": {
"args": [
"shinzo"
],
"command": "uvx"
}
}
}Are you the author?
Add this badge to your README to show your security score and help users find safe servers.
Shinzo Python SDK: Complete Observability for MCP Servers The SDK provides OpenTelemetry-compatible instrumentation for Python MCP servers. Gain insight into agent usage patterns, contextualize tool calls, and analyze performance of your servers across platforms. Instrumentation can be installed in servers in just a few steps with an emphasis on ease of use and flexibility.
This server supports HTTP transport. Be the first to test it — help the community know if it works.
Five weighted categories — click any category to see the underlying evidence.
No known CVEs.
Checked shinzo against OSV.dev.
Be the first to review
Have you used this server?
Share your experience — it helps other developers decide.
Sign in to write a review.
Others in developer-tools / analytics
Copy/paste detector for programming source code, supports 223 formats. AI-ready with token-efficient reporter, skill and MCP server.
XcodeBuildMCP provides tools for Xcode project management, simulator management, and app utilities.
A Model Context Protocol (MCP) server and CLI that provides tools for agent use when working on iOS and macOS projects.
Manage Supabase projects — databases, auth, storage, and edge functions
MCP Security Weekly
Get CVE alerts and security updates for Shinzo Py and similar servers.
Start a conversation
Ask a question, share a tip, or report an issue.
Sign in to join the discussion.
The Shinzo Python instrumentation library works with Python MCP servers built with the core MCP SDK or FastMCP. Simply install the base package:
pip install shinzo
Choose the example that matches your MCP SDK:
from mcp.server.fastmcp import FastMCP
from shinzo import instrument_server
# Create FastMCP server
mcp = FastMCP(name="my-mcp-server")
# Instrument it with Shinzo
observability = instrument_server(
mcp,
config={
"server_name": "my-mcp-server",
"server_version": "1.0.0",
"exporter_auth": {
"type": "bearer",
"token": "your-api-token"
}
}
)
# Define your tools
@mcp.tool()
def get_weather(city: str) -> str:
"""Get weather for a city."""
return f"Weather for {city}: Sunny"
# Run the server
if __name__ == "__main__":
mcp.run()
from mcp.server import Server
from shinzo import instrument_server
# Create your MCP server
server = Server("my-mcp-server")
# Instrument it with Shinzo
observability = instrument_server(
server,
config={
"server_name": "my-mcp-server",
"server_version": "1.0.0",
"exporter_auth": {
"type": "bearer",
"token": "your-api-token"
}
}
)
# Define your tools
@server.call_tool()
async def get_weather(city: str) -> str:
return f"Weather for {city}: Sunny"
# Clean shutdown
async def shutdown():
await observability.shutdown()
Shinzo automatically detects and instruments your MCP server regardless of which SDK you use:
| SDK | Detection Method | Decorator | Use Case |
|---|---|---|---|
| FastMCP | server.tool attribute | @mcp.tool() | Simpler API, modern Python patterns, recommended for new projects |
| Traditional MCP | server.call_tool attribute | @server.call_tool() | Standard MCP specification, more configuration options |
Both SDKs receive the same comprehensive instrumentation with no additional configuration needed.