MCP Server for QWED Verification - Use QWED verification tools in Claude Desktop, VS Code, and any MCP client
Project description
QWED-MCP
MCP Server for QWED Verification - Use QWED verification tools in Claude Desktop, VS Code, and any MCP client.
What is QWED-MCP?
QWED-MCP brings deterministic verification to any MCP-compatible AI assistant. Instead of trusting LLMs to compute correctly, QWED-MCP provides tools that verify outputs using:
- SymPy for mathematical verification
- Z3 SMT Solver for logical reasoning
- AST Analysis for code security
- Pattern Matching for SQL injection detection
Installation
pip install qwed-mcp
Or install from source:
git clone https://github.com/QWED-AI/qwed-mcp.git
cd qwed-mcp
pip install -e .
Quick Start
Use with Claude Desktop
Add to your claude_desktop_config.json:
{
"mcpServers": {
"qwed-verification": {
"command": "qwed-mcp"
}
}
}
Use with VS Code
Install the MCP extension and add to settings:
{
"mcp.servers": {
"qwed-verification": {
"command": "qwed-mcp"
}
}
}
Available Tools
verify_math
Verify mathematical calculations using SymPy.
Input: expression="x^2", claimed_result="2x", operation="derivative"
Output: ✅ VERIFIED - The derivative of x^2 is indeed 2x
verify_logic
Verify logical arguments using Z3 SMT solver.
Input: premises=["All humans are mortal", "Socrates is human"], conclusion="Socrates is mortal"
Output: ✅ VERIFIED - The conclusion logically follows from the premises
verify_code
Check code for security vulnerabilities.
Input: code="eval(user_input)", language="python"
Output: ❌ FAILED - Dangerous function call: eval()
verify_sql
Detect SQL injection and validate queries.
Input: query="SELECT * FROM users WHERE id = '1' OR '1'='1'"
Output: ❌ FAILED - Potential SQL injection detected
How It Works
┌─────────────────────────────────────────┐
│ Claude Desktop / VS Code │
│ (MCP Client) │
└───────────────────┬─────────────────────┘
│ MCP Protocol
▼
┌─────────────────────────────────────────┐
│ QWED-MCP Server │
├─────────────────────────────────────────┤
│ Tools: │
│ ├─ verify_math() → SymPy │
│ ├─ verify_logic() → Z3 Solver │
│ ├─ verify_code() → AST Analysis │
│ └─ verify_sql() → Pattern Match │
└─────────────────────────────────────────┘
Use Cases
| Without QWED-MCP | With QWED-MCP |
|---|---|
| Claude calculates → may hallucinate | Claude calls verify_math() → 100% correct |
| Claude writes SQL → may be insecure | Claude calls verify_sql() → injection detected |
| Claude reasons → may be illogical | Claude calls verify_logic() → proven with Z3 |
| Claude generates code → may be unsafe | Claude calls verify_code() → security checked |
Configuration
Environment Variables
| Variable | Description | Default |
|---|---|---|
QWED_LOG_LEVEL |
Logging level | INFO |
Development
# Clone
git clone https://github.com/QWED-AI/qwed-mcp.git
cd qwed-mcp
# Install dev dependencies
pip install -e ".[dev]"
# Run tests
pytest
# Format code
black src/
Links
- Documentation: docs.qwedai.com
- QWED Core: QWED-AI/qwed-verification
- MCP Protocol: modelcontextprotocol.io
License
Apache 2.0 - See LICENSE
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file qwed_mcp-0.1.0.tar.gz.
File metadata
- Download URL: qwed_mcp-0.1.0.tar.gz
- Upload date:
- Size: 20.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e8b839aa34701125264cc1bd3b8ab9ca8191dad798bf641c080b3826eb92891a
|
|
| MD5 |
d7566d1e1710830954f7232fe1241006
|
|
| BLAKE2b-256 |
bb09162fd81c52aaac19ebcece5fb104ded55c3bfaac4fe8548cca4cba1fd6d1
|
Provenance
The following attestation bundles were made for qwed_mcp-0.1.0.tar.gz:
Publisher:
publish.yml on QWED-AI/qwed-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qwed_mcp-0.1.0.tar.gz -
Subject digest:
e8b839aa34701125264cc1bd3b8ab9ca8191dad798bf641c080b3826eb92891a - Sigstore transparency entry: 832759688
- Sigstore integration time:
-
Permalink:
QWED-AI/qwed-mcp@8d60c235680e7db8f83679d25b000cac6fd3c5cd -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/QWED-AI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8d60c235680e7db8f83679d25b000cac6fd3c5cd -
Trigger Event:
release
-
Statement type:
File details
Details for the file qwed_mcp-0.1.0-py3-none-any.whl.
File metadata
- Download URL: qwed_mcp-0.1.0-py3-none-any.whl
- Upload date:
- Size: 20.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c4bc9e13d4ecb723cfea257e7e8fd17341b4ead3d340e0d52192bce7a153a86e
|
|
| MD5 |
9b55f6870b1d87343772341180da4630
|
|
| BLAKE2b-256 |
dfdfb6985e0ee1956d8f74b01615e97d1300b40bd33c27313670e816f29c1123
|
Provenance
The following attestation bundles were made for qwed_mcp-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on QWED-AI/qwed-mcp
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
qwed_mcp-0.1.0-py3-none-any.whl -
Subject digest:
c4bc9e13d4ecb723cfea257e7e8fd17341b4ead3d340e0d52192bce7a153a86e - Sigstore transparency entry: 832759689
- Sigstore integration time:
-
Permalink:
QWED-AI/qwed-mcp@8d60c235680e7db8f83679d25b000cac6fd3c5cd -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/QWED-AI
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@8d60c235680e7db8f83679d25b000cac6fd3c5cd -
Trigger Event:
release
-
Statement type: