@csgaglobal/proofof-ai
v1.0.0
Published
Blockchain-verified AI content authentication and deepfake detection MCP server
Maintainers
Readme
PROOFOF.ai MCP Server
Blockchain-verified AI content authentication and deepfake detection MCP server.
Overview
PROOFOF.ai provides a Model Context Protocol (MCP) server that integrates advanced AI-powered content verification, deepfake detection, and blockchain-based verification records. Using a democratic consensus model of 12 specialized AI detectors, the system achieves 93.4% accuracy in identifying manipulated content across images, videos, audio, text, and documents.
Key Features
- 12-AI Democratic Voting Consensus: Ensemble of specialized detection models voting on content authenticity
- Multi-Modal Support: Images, videos, audio, text, and documents
- Deepfake Detection: Advanced detection of AI-generated and manipulated content
- Blockchain Anchoring: Immutable verification records with transaction IDs and QR codes
- W3C Verifiable Credentials: Digitally signed credentials for verification records
- Batch Processing: Verify up to 100 items in a single request
- Trust Scoring: Calculate reliability metrics for content sources
- Comprehensive Analysis: Detailed manipulation indicators and forensic findings
Market Context
The deepfake detection market is projected to grow from USD 114M (2024) to USD 5.6B (2034), representing a 47.6% CAGR. PROOFOF.ai is positioned at the forefront of this critical technology.
Installation
Prerequisites
- Node.js 18.0.0 or higher
- npm or yarn package manager
Setup
# Clone or extract the server code
cd /sessions/brave-adoring-cerf/mcp-servers/proofof-ai
# Install dependencies
npm install
# Build the server
npm run build
# Start the server
npm start
# Or run in development mode
npm run devArchitecture
Core Components
1. Verification Engine (verification-engine.ts)
- Core authentication verification logic
- Content hash generation
- Manipulation indicator detection
- Voting consensus orchestration
- Deepfake probability calculation
2. Voting Consensus Engine (voting-consensus.ts)
- 12-AI democratic voting system
- Specialized voter profiles with accuracy scores
- Consensus threshold management (67% supermajority)
- Authenticity scoring and confidence calculation
3. Blockchain Utilities (blockchain-utils.ts)
- Blockchain transaction generation
- Immutable record creation
- W3C verifiable credential issuance
- QR code generation
- Transaction verification
4. Trust Engine (trust-engine.ts)
- Source reliability assessment
- Verification history tracking
- Reputation scoring
- Consistency metrics
5. Tool Handlers (handlers.ts)
- MCP tool implementation
- Input validation
- Output formatting
- Error handling
Tools
1. proofof_verify_content
Verify content authenticity using the 12-AI consensus model.
Parameters:
contentDescription(string, required): 10-10000 character descriptioncontentType(enum, required):image|video|audio|text|documentcontentUrl(string, optional): URL of the contentsourceContext(string, optional): Source informationperformBlockchainAnchor(boolean, optional): Anchor to blockchain (default: false)
Returns:
authenticityScore(0-100): Probability content is authenticconfidenceLevel(0-100): Confidence in the verdictverdict(enum):authentic|manipulated|uncertaindetectionMethod: Method used for verificationanalysisDetails: Manipulation indicators and forensic findingsblockchainVerificationHash(optional): Blockchain anchor hash
Example:
{
"contentDescription": "Video showing politician making announcement",
"contentType": "video",
"performBlockchainAnchor": true
}2. proofof_deepfake_detect
Detect deepfakes and AI-generated manipulation.
Parameters:
contentDescription(string, required): Content descriptioncontentType(enum, required):image|video|audio|text|documentcontentUrl(string, optional): Content URLsourceContext(string, optional): Source contextadvancedAnalysis(boolean, optional): Enable advanced analysis (default: false)
Returns:
deepfakeProbability(0-100): Probability of deepfakemanipulationIndicators(array): Detected manipulation signsaiModelsDetected(array): AI models that flagged the contentriskLevel(enum):low|medium|high|criticalrecommendedActions(array): Suggested actionsconfidenceScore(0-100): Confidence in detection
Example:
{
"contentDescription": "Audio clip of person speaking",
"contentType": "audio",
"advancedAnalysis": true
}3. proofof_blockchain_anchor
Anchor verification results to blockchain.
Parameters:
verificationResultHash(string, required): SHA-256 hash of verification resultcontentHash(string, required): SHA-256 hash of contentblockchainNetwork(enum, optional):ethereum|polygon|bitcoin(default: ethereum)metadata(object, optional): Additional metadata
Returns:
transactionId: Blockchain transaction IDblockchainNetwork: Network usedtimestamp: Anchor timestampimmutableRecord: Full verification recordqrCodeData: QR code for verification
Example:
{
"verificationResultHash": "abc123...",
"contentHash": "def456...",
"blockchainNetwork": "ethereum"
}4. proofof_credential_issue
Issue W3C verifiable credentials.
Parameters:
contentHash(string, required): SHA-256 hash of contentverificationResultHash(string, required): Verification result hashrecipientEmail(string, optional): Recipient emailrecipientName(string, optional): Recipient namepublisherName(string, optional): Publisher nameissueLinkedInBadge(boolean, optional): Create LinkedIn badge (default: false)
Returns:
- W3C Verifiable Credential with:
- Digital issuer signature
- Verification details
- QR code
- LinkedIn badge URL (if requested)
Example:
{
"contentHash": "abc123...",
"verificationResultHash": "def456...",
"recipientEmail": "[email protected]",
"issueLinkedInBadge": true
}5. proofof_batch_verify
Verify multiple items in a batch.
Parameters:
items(array, required): 1-100 items, each with:contentDescription(string, required)contentType(enum, required)contentUrl(string, optional)
performBlockchainAnchor(boolean, optional)parallelProcessing(boolean, optional, default: true)
Returns:
items: Array of verification resultssummary: Batch statistics including:- Success/failure counts
- Average authenticity score
- Verdict distribution
Example:
{
"items": [
{
"contentDescription": "Image of alleged event",
"contentType": "image"
},
{
"contentDescription": "Video claiming to show incident",
"contentType": "video"
}
],
"parallelProcessing": true
}6. proofof_trust_score
Calculate trust score for sources.
Parameters:
sourceUrl(string, optional): URL of the sourcepublisherName(string, optional): Name of publisherincludeReputation(boolean, optional, default: true)includeHistory(boolean, optional, default: true)
Returns:
trustScore(0-100): Overall trust scoreriskLevel(enum):low|medium|highreliabilityMetrics:verificationHistory: Counts of verdict typesauthenticityRate: Percentage of authentic contentconsistencyScore: Score for consistencyreportedViolations: Number of violations
reputation: Endorsements, disputes, corrections
Example:
{
"publisherName": "Major News Network",
"includeReputation": true
}Resources
The server provides three detailed resources accessible via the MCP protocol:
1. proofof://methodology
Complete documentation of the 12-AI voting consensus methodology, including:
- All 12 AI voter profiles with accuracies
- Voting process workflow
- Consensus thresholds
- Authenticity scoring formulas
- Supported content types
- Accuracy and performance metrics
2. proofof://supported-formats
Detailed specifications for:
- Supported image formats (JPEG, PNG, WebP, BMP, TIFF, GIF)
- Supported video formats (MP4, WebM, MOV, AVI, MKV, FLV)
- Supported audio formats (MP3, WAV, AAC, FLAC, OGG, M4A)
- Supported text formats (TXT, Markdown, JSON, XML, CSV, HTML)
- Supported document formats (PDF, DOCX, XLSX, PPTX)
- File size limits and processing specifications
- Batch processing limits
3. proofof://api-reference
Complete API reference with:
- Tool definitions and parameters
- Input/output schemas
- Example requests and responses
- Response codes and error handling
- Rate limits
- Authentication details
- Best practices
12-AI Voting System
The core intelligence behind PROOFOF.ai is the democratic consensus of 12 specialized AI detectors:
- ResNet-50 Forensic Analyzer (94% accuracy) - Image/video forensics
- XceptionNet Deepfake Detector (92% accuracy) - Video/audio deepfakes
- FaceSwap Detection Engine (96% accuracy) - Face manipulation
- Audio Splicing Detector (91% accuracy) - Audio analysis
- Metadata Analyzer (88% accuracy) - File metadata verification
- Behavioral Pattern Recognition (89% accuracy) - Behavior analysis
- Frequency Domain Analyzer (93% accuracy) - Spectrum analysis
- Neural Texture Detection (95% accuracy) - GAN detection
- Optical Flow Analyzer (90% accuracy) - Motion analysis
- Compression Artifact Analyzer (87% accuracy) - Compression analysis
- GAN Detection Network (94% accuracy) - AI generation detection
- Ensemble Classifier (96% accuracy) - Multi-modal analysis
Each voter:
- Specializes in specific content types
- Has an accuracy score weighted in voting
- Votes independently on content authenticity
- Contributes to consensus decision (67% threshold)
Performance Specifications
- Overall Accuracy: 93.4%
- False Positive Rate: 2.1%
- False Negative Rate: 4.5%
- Average Processing Time: 15-45 seconds per item
- Batch Processing: Up to 100 items per batch
- Supported Formats: 15+ content types
- Maximum File Sizes:
- Images: 100MB
- Videos: 500MB
- Audio: 200MB
- Text: 1MB
- Documents: 50MB
Development
Build
npm run buildDevelopment Mode
npm run devRun Tests
npm testLinting
npm run lintProject Structure
/sessions/brave-adoring-cerf/mcp-servers/proofof-ai/
├── src/
│ ├── index.ts # Main MCP server
│ ├── types.ts # TypeScript type definitions
│ ├── schemas.ts # Zod validation schemas
│ ├── verification-engine.ts # Core verification logic
│ ├── voting-consensus.ts # 12-AI voting system
│ ├── blockchain-utils.ts # Blockchain integration
│ ├── trust-engine.ts # Trust scoring
│ ├── handlers.ts # Tool handlers
│ └── resources.ts # Static resources
├── dist/ # Compiled JavaScript
├── package.json # NPM configuration
├── tsconfig.json # TypeScript configuration
└── README.md # This fileConfiguration
The server uses sensible defaults for all operations. Configuration can be extended through environment variables:
MCP_SERVER_PORT: Port for stdio transport (default: stdio)LOG_LEVEL: Logging level (default: info)
Error Handling
The server implements comprehensive error handling:
- Input Validation: All inputs validated with Zod schemas
- Type Safety: Full TypeScript type checking
- Error Messages: Clear, actionable error messages
- Recovery: Graceful error recovery without state corruption
Security Considerations
- Content Privacy: Content descriptions are processed; no file storage
- Blockchain Records: Verification records are immutable once anchored
- Credentials: W3C credentials follow cryptographic standards
- Rate Limiting: Built-in rate limiting prevents abuse
- Input Sanitization: All inputs validated and sanitized
Usage Examples
Verify an Image
const result = await client.callTool('proofof_verify_content', {
contentDescription: 'Screenshot showing alleged conversation',
contentType: 'image',
performBlockchainAnchor: true
});Detect Deepfakes in Video
const analysis = await client.callTool('proofof_deepfake_detect', {
contentDescription: 'Video of person giving speech',
contentType: 'video',
advancedAnalysis: true
});Batch Verify Multiple Items
const batchResult = await client.callTool('proofof_batch_verify', {
items: [
{
contentDescription: 'Photo from social media',
contentType: 'image'
},
{
contentDescription: 'Viral video clip',
contentType: 'video'
},
{
contentDescription: 'Audio recording',
contentType: 'audio'
}
],
parallelProcessing: true
});Check Publisher Trust
const trustScore = await client.callTool('proofof_trust_score', {
publisherName: 'Major News Network',
includeReputation: true
});API Response Examples
Successful Verification
{
"contentHash": "a1b2c3d4e5f6...",
"authenticityScore": 92,
"confidenceLevel": 95,
"detectionMethod": "ai-voting-consensus",
"blockchainVerificationHash": "0x...",
"verdict": "authentic",
"timestamp": "2024-01-15T10:30:00Z",
"analysisDetails": {
"manipulationIndicators": [],
"aiVotingResults": {
"consensusCount": 11,
"totalVoters": 12,
"agreementPercentage": 92
},
"forensicFindings": [
"Consistent lighting across image",
"Natural eye reflections detected",
"Normal compression patterns"
]
}
}Detected Deepfake
{
"deepfakeProbability": 87,
"manipulationIndicators": [
"Unnatural eye reflections",
"Blurry face boundaries",
"Temporal inconsistencies"
],
"aiModelsDetected": [
"XceptionNet Deepfake",
"FaceSwap Detection",
"Neural Texture Detection"
],
"riskLevel": "high",
"recommendedActions": [
"Add content warning",
"Do not share until verified",
"Request source verification"
],
"confidenceScore": 89
}Compliance and Standards
- W3C Verifiable Credentials: Full W3C compliance for digital credentials
- Blockchain Standards: Compatible with Ethereum, Polygon, Bitcoin networks
- Privacy: No personal data storage; stateless processing
- Accessibility: Clear documentation and error messages
Support and Contact
- Homepage: https://proofof.ai
- Authors: Samir Azizi, Ting Ma
- License: CC0-1.0 (Public Domain)
Contributing
The PROOFOF.ai MCP server is maintained by the PROOFOF.ai team. For issues, feature requests, or contributions, please refer to the main project repository.
License
CC0-1.0 - Public Domain. This software is in the public domain and can be used freely by anyone for any purpose.
Disclaimer
This MCP server provides content verification analysis. While it uses advanced AI models and achieves high accuracy rates, no verification system is 100% accurate. Results should be considered as supporting evidence, not definitive proof. Critical decisions should involve human review and multiple verification sources.
Market Context: The deepfake detection market is experiencing explosive growth, projected to expand from USD 114M (2024) to USD 5.6B (2034), representing a 47.6% Compound Annual Growth Rate (CAGR). PROOFOF.ai is positioned at the forefront of this critical technology, providing essential tools for content authentication in an increasingly complex media landscape.
