mcpdeployment
The mcpdeployment server provides mathematical operations, text manipulation, JSON formatting, security scanning, and informational resources.
Tools
add– Add two integersreverse_text– Reverse a stringformat_json– Pretty-print JSON datacalculate– Evaluate mathematical expressionsscan_mcp_server– Scan MCP servers for security vulnerabilities (YARA-based or advanced LLM/API-based)check_scanner_status– Check scanner configuration and status
Resources
demo://info– Server metadatademo://timestamp– Current time and uptimedemo://examples– Usage examplesdemo://file/data– Read sample data
Prompts
code_review– Code review templatesummarize– Text summarization templatedebug_helper– Debugging assistance template
Additional Capabilities
Deploy locally via stdio (IDE integration) or as a remote HTTP server
Integrate with MCP clients such as Cursor IDE, Claude Desktop, VS Code, Windsurf, and Claude Code
Extend functionality by adding new tools, resources, or prompts via
src/mcpserver/server.py
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., "@mcpdeploymentdeploy my server with config.json"
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.
MCP Demo Server
A demonstration MCP (Model Context Protocol) server showcasing Tools, Resources, and Prompts with integrated security scanning.
Features
🛠️ Tools (6)
add- Add two numbersreverse_text- Reverse a stringformat_json- Pretty-print JSONcalculate- Evaluate mathematical expressionsscan_mcp_server- Scan MCP servers for vulnerabilitiescheck_scanner_status- Check scanner configuration
📚 Resources (4)
demo://info- Server metadatademo://timestamp- Current time and uptimedemo://examples- Usage examplesdemo://file/data- Read sample data
💬 Prompts (3)
code_review- Code review templatesummarize- Text summarization templatedebug_helper- Debugging assistance template
Related MCP server: Enterprise MCP Server
Quick Start
Prerequisites
Python 3.11+
uv package manager
Installation
# Clone the repository
git clone https://github.com/manutri1986/mcpdeployment.git
cd mcpdeployment
# Install dependencies (automatic with uv)
uv syncRun the Server
Local Development (stdio transport):
# Start MCP server for IDE integration
uv run mcp-serverThe server communicates via stdio and will wait for MCP protocol connections.
Remote Deployment (HTTP transport):
# Start HTTP server for remote access
MCP_REMOTE_HOST=127.0.0.1 MCP_REMOTE_PORT=8000 uv run mcp-server-remote
# Or use the test script
./scripts/test_http_local.sh📖 Full HTTP deployment guide: docs/HTTP_DEPLOYMENT.md
Security Scanning
Quick Scan
# Run security scan (YARA analyzer - fast, no API key needed)
uv run python scripts/scanners/yara_scanner.py
# Quick scan (sample components only)
uv run python scripts/scanners/yara_scanner.py --quick
# Advanced scanners (require API keys)
uv run python scripts/scanners/llm_api_scanner.py # OpenAI LLM analysis
uv run python scripts/scanners/cisco_api_scanner.py # Cisco AI DefenseScanner Coverage:
✅ Tools (6) - All scanned
✅ Prompts (3) - All scanned
⚠️ Resources (4) - Cannot scan via stdio
Setup Advanced Scanning (Optional)
For deeper analysis with LLM and API analyzers:
# Run setup script
./scripts/setup_scanner.sh
# Or set environment variables manually
export MCP_SCANNER_API_KEY="your_api_key"
export MCP_SCANNER_ENDPOINT="https://us.api.inspect.aidefense.security.cisco.com/api/v1"Get your API key: Cisco AI Defense
📖 Full documentation: docs/SCANNER_SETUP.md
Using with MCP Clients
Cursor IDE
Configuration included at .cursor/mcp.json. After setup:
Restart Cursor IDE
Test: "Use the add tool to calculate 5 + 3"
Or: "Access the demo://info resource"
Claude Desktop, VS Code, Windsurf
Add to your MCP client configuration:
{
"mcpServers": {
"mcpdeployment": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/manutri1986/mcpdeployment.git",
"mcp-server"
]
}
}
}Configuration file locations:
Client | Config Path |
Claude Desktop (macOS) |
|
Claude Desktop (Windows) |
|
Cursor |
|
Windsurf |
|
VS Code |
|
Claude Code |
|
Project Structure
mcpdeployment/
├── src/mcpserver/ # MCP server implementation
│ ├── __init__.py
│ ├── __main__.py # Entry point (stdio transport)
│ ├── __main_remote__.py # Entry point (HTTP transport)
│ └── server.py # Tools, resources, prompts
├── scripts/ # Utility scripts
│ ├── scanners/ # Security scanner implementations
│ │ ├── yara_scanner.py
│ │ ├── llm_api_scanner.py
│ │ └── cisco_api_scanner.py
│ ├── setup_scanner.sh # Scanner configuration
│ └── test_http_local.sh # Local HTTP testing
├── tests/ # Test files
│ └── test_scanner.py # Test scanner setup
├── reports/ # Generated scan reports (gitignored)
├── docs/ # Documentation
│ ├── methodology/ # Scanner methodology docs
│ ├── SCANNER_SETUP.md
│ ├── SCANNER_LIMITATIONS.md
│ └── HTTP_DEPLOYMENT.md # Remote deployment guide
├── data/ # Sample data
│ └── sample_data.json
├── STRUCTURE.md # Detailed structure guide
├── CLAUDE.md # AI assistant guidance
├── README.md # This file
└── pyproject.toml # Project configuration📖 See STRUCTURE.md for detailed directory structure and purpose.
Architecture
Built with FastMCP, a Python framework for MCP servers.
Key Pattern:
from mcp.server.fastmcp import FastMCP
mcp = FastMCP("Demo")
@mcp.tool()
def your_tool(arg: type) -> type:
"""Tool description"""
return result
@mcp.resource("uri://path")
def your_resource() -> str:
"""Resource description"""
return json.dumps(data)
@mcp.prompt()
def your_prompt(arg: type) -> str:
"""Prompt description"""
return f"Prompt text with {arg}"See CLAUDE.md for detailed architecture notes.
Development
Test Scanner
# Verify scanner is configured
uv run python tests/test_scanner.pyAdding Components
Edit src/mcpserver/server.py:
Add function with appropriate decorator (
@mcp.tool(),@mcp.resource(),@mcp.prompt())Update scanner scripts in
scripts/scanners/to include new tools/prompts in scan listsRun security scan:
uv run python scripts/scanners/yara_scanner.py
Documentation
CLAUDE.md - Development guide for AI assistants
docs/HTTP_DEPLOYMENT.md - Remote HTTP deployment guide
docs/SCANNER_SETUP.md - Scanner configuration
docs/SCANNER_LIMITATIONS.md - What can/cannot be scanned
Troubleshooting
Server won't start
Check Python version:
uv run python --version(needs 3.11+)Reinstall dependencies:
uv sync
Tools not appearing in client
Restart client completely
Check client logs for errors
Verify configuration file syntax
Scanner errors
Verify installation:
uv pip list | grep cisco-ai-mcp-scannerTest setup:
uv run python tests/test_scanner.py
License
MIT
Available Tools
1 tooladdA
Add two numbers
| Name | Required | Description | Default |
|---|---|---|---|
| a | Yes | ||
| b | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| result | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description is a pure function with no side effects, and the sole behavior 'Add two numbers' is fully disclosed. With no annotations to contradict, the description provides complete behavioral transparency for this simple operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single sentence with no unnecessary words; it is front-loaded and earns its place. It communicates everything needed in the most compact form possible.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simple nature and the presence of an output schema (per context signal), the description sufficiently covers the function. There are no complex behaviors, side effects, or conditional logic to document.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, yet the description only generically mentions 'two numbers' without explaining the meaning or constraints of parameters a and b. It does not compensate for the lack of schema descriptions, leaving parameter semantics under-specified.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses the specific verb 'Add' and identifies the resource as 'two numbers', clearly distinguishing it from the sibling arithmetic tools subtract, multiply, and divide. It is unambiguous and precisely states the tool's function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description is concise but does not explicitly state when to use this tool over alternatives; however, the operation is self-evident for the sibling context. It lacks explicit exclusions or alternative guidance, but the clear context of adding numbers implicitly covers the main use case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
v0.1.0- First observed
add
TDQS
Scored across 1 tool
Only one tool exists, so there is no ambiguity between tools.
With a single tool, naming consistency is not applicable; the name 'add' is clear and follows a verb pattern.
A single arithmetic tool is too few for a server presumably named 'mcpdeployment', which suggests broader functionality. The scope is extremely limited.
The server's name implies deployment-related operations, but only an addition tool is provided, missing all typical deployment lifecycle operations.
Maintenance
Related MCP Connectors
Create, deploy, and operate MCP servers directly from your GitHub repositories.
MCP server for Product Management
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceMCP Server simplifies the implementation of the Model Context Protocol by providing a user-friendly API to create custom tools and manage server workflows efficiently.13 npm4MIT
- FlicenseNot gradedqualityDmaintenanceA highly configurable, deployment-ready MCP server with modular architecture for dynamic tool loading and external package support.1-
- AlicenseAqualityAmaintenanceA comprehensive MCP server providing OpenStack project management and monitoring capabilities with built-in safety controls and single-project scope.4144MIT
- AlicenseNot gradedqualityAmaintenanceMCP server for the Komodo DevOps platform that enables managing servers, stacks, deployments, builds, and more through natural language.113 npm6MIT