raw-mcp
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., "@raw-mcp Use the calculate_length tool to count the characters in 'hello world'."
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.
raw_mcp
A minimal Model Context Protocol server written in pure Python — no MCP SDK, no third-party libraries. It speaks JSON-RPC 2.0 over stdio, which is how MCP clients talk to servers they launch as a subprocess.
Prerequisites
uv (
brew install uv)
Related MCP server: Counting MCP Server
Layout
server.py— the MCP server (stdlib only)test_server.py— a smoke test that drives the server through a full handshakepyproject.toml— uv project metadata (no runtime dependencies)
Run the tests
uv run test_server.pyRun the server manually
The server reads JSON-RPC from stdin and writes responses to stdout, so you can poke at it by hand:
uv run server.pyThen paste a line and press enter:
{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{}}}Diagnostic logs go to stderr so they never corrupt the JSON on stdout.
Use it from an MCP client
Point any MCP client (Claude Desktop, etc.) at the server via uv. Example
claude_desktop_config.json:
{
"mcpServers": {
"raw-mcp": {
"command": "uv",
"args": ["run", "server.py"],
"cwd": "/Users/jameswhite/conductor/workspaces/raw_mcp/san-salvador"
}
}
}Use it from Claude Code
Register the server with Claude Code's MCP support, then call the tool from a session.
Add the server
claude mcp add raw-mcp -- uv run --directory /Users/jameswhite/conductor/workspaces/raw_mcp/san-salvador server.pyraw-mcpis the name it shows up as.Everything after
--is the launch command. Usinguv run --directory <path>means it works regardless of which directory you start Claude Code from. If you always launch from this folder,claude mcp add raw-mcp -- uv run server.pyis enough.Default scope is
local(just you, this project). Add-s userto make it available everywhere, or-s projectto share it via a committed.mcp.json.
Verify it connected
claude mcp list # shows configured servers + connection status
claude mcp get raw-mcp # shows the launch command for this oneraw-mcp should report ✔ Connected.
Use it
MCP servers are loaded at session startup, so open a fresh interactive Claude Code session (or restart your current one), then:
Run
/mcp— you should seeraw-mcpconnected with one tool,calculate_length.Ask Claude to use it, e.g. "Use the raw-mcp calculate_length tool on the string 'hello world'." The tool is exposed as
mcp__raw-mcp__calculate_length.
Remove it when done
claude mcp remove raw-mcpThe one tool
calculate_length — returns the character count of a string.
How it works
initialize — the handshake. The server advertises
protocolVersionand itstoolscapability.notifications/initialized — the client acknowledges. It's a notification (no
id), so the server sends nothing back.tools/list — the server returns its tool definitions and JSON schemas.
tools/call — the client invokes a tool; the server returns
contentblocks.
Adding a tool is two steps: append its definition to TOOLS, then handle its name
in call_tool.
Available Tools
1 toolcalculate_lengthA
Returns the character count of a string
Inputs: text (required).
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 1 tool
Only one tool exists, so there is no possibility of confusing it with another tool. The tool's purpose is clearly defined and isolated.
The single tool name follows a clear verb_noun pattern (calculate_length), which is internally consistent and self-explanatory.
A single trivial tool for character counting is extremely thin for a server and feels like a placeholder rather than a coherent toolset.
The server provides only string length calculation, leaving substantial gaps for any raw string manipulation tasks. The domain is severely underrepresented, offering a dead-end surface.
Maintenance
Related MCP Connectors
Text statistics & readability MCP.
Count occurrences of any character in your text instantly. Specify the character and get precise c…
Remote MCP for JSON repair, hashing, formatting, IDs, dates, units, and other small tools.
191Character count, text discarded
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceProvides a tool to count occurrences of specific characters in text, serving as a simple example of building MCP servers with FastMCP and Python.-
- FlicenseAqualityDmaintenanceA remote MCP server that provides a counting tool, e.g., to count letters in words.11-
- AlicenseNot gradedqualityDmaintenanceMCP server that counts the number of Chinese characters (excluding punctuation, spaces, English, and numbers) in a given text, compatible with Streamable HTTP and JSON-RPC.MIT
- AlicenseAqualityBmaintenanceZero-dependency stdio bridge to Moltline Studio's fleet of 14 hosted MCP servers covering code review, time operations, data transforms, business ops, education, research, outreach and more. Free tier requires no registration; premium tools unlock with a license. Independently audited, MCPize Verified A.10MIT