Skip to main content
Glama
README.md4.44 kB
# YAPS MCP Server An MCP (Model Context Protocol) server that wraps Kaito's YAPS API to provide tokenized attention scores for X/Twitter accounts. This server enables LLMs to query credibility and influence metrics for any X account, with built-in caching and rate limiting. ## Features - 🔍 **Influencer Trust Score**: Fetch YAPS scores for any X/Twitter account with caching - 🔄 **Comparison Tool**: Compare the credibility of two influencers with natural language summaries - 📊 **Daily Leaderboard**: Top-10 crypto influencers automatically refreshed daily - 🚦 **Rate Limiting**: Graceful handling of YAPS API's 100 calls / 5 min limit - 💾 **Redis Caching**: 10-minute TTL for scores, 24-hour TTL for leaderboards ## Getting Started ### Prerequisites - Node.js 18 or higher - Redis server ### Installation 1. Clone the repository ```bash git clone https://github.com/yourusername/yap-mcp.git cd yap-mcp ``` 2. Install dependencies ```bash npm install ``` 3. Create a `.env` file based on the following template: ```env # YAPS API (no API key needed - using public API with rate limits) YAPS_API_ENDPOINT=https://api.kaito.ai/api/v1/yaps # Redis cache REDIS_URI=redis://localhost:6379 # Server PORT=3000 NODE_ENV=development # YAPS cache TTL in seconds YAPS_CACHE_TTL=600 # 10 minutes # Leaderboard settings LEADERBOARD_CACHE_TTL=86400 # 24 hours ``` 4. Build the project ```bash npm run build ``` 5. Start the server ```bash npm start ``` For integration with LLM providers, use the stdio transport: ```bash npm start -- --stdio ``` ## MCP Resources and Tools ### Resources - `yaps-score` - YAPS score for a Twitter user - Schema: `yaps-score://{username}` ### Tools - `get_yaps_score` - Get YAPS score and summary for a Twitter user - Input: `{ username: string }` - Output: JSON object with score and natural language summary - `compare_scores` - Compare YAPS scores between two Twitter users - Input: `{ username_a: string, username_b: string }` - Output: JSON comparison with deltas and natural language verdict - `leaderboard_today` - Get today's top-10 YAPS leaderboard - Input: `{}` - Output: Array of top 10 accounts by 24h YAPS score ## Using with OpenAI GPT Example of using the YAPS MCP server with OpenAI: ```javascript import OpenAI from 'openai'; import { spawn } from 'child_process'; const openai = new OpenAI({ apiKey: 'your-api-key' }); // Start the MCP server as a child process const mcpProcess = spawn('node', ['dist/index.js', '--stdio'], { stdio: ['pipe', 'pipe', process.stderr] }); // Example function to call GPT with tools async function askGptWithTools(question) { try { const response = await openai.chat.completions.create({ model: 'gpt-4-turbo', messages: [{ role: 'user', content: question }], tools: [ { type: 'function', function: { name: 'get_yaps_score', description: 'Get YAPS tokenized attention score for an X/Twitter account', parameters: { type: 'object', properties: { username: { type: 'string', description: 'Twitter username (with or without @)' } }, required: ['username'] } } }, // Additional tools would be defined here ], tool_choice: 'auto' }); console.log(response.choices[0].message); // Process tool calls if any if (response.choices[0].message.tool_calls) { // Implementation for handling tool calls would go here } return response; } catch (error) { console.error('Error calling GPT:', error); throw error; } } // Example usage askGptWithTools('What is the YAPS score for @VitalikButerin?'); ``` ## Performance and Availability - P95 tool latency < 300 ms (cache hit) / < 2 s (cache miss) - 99% monthly availability with stateless containers - Prometheus metrics for monitoring calls and errors ## API Rate Limits The YAPS API is available as an open source API with the following limitations: - Default rate limit: 100 calls every 5 minutes - This MCP server implements caching and rate limiting to respect these constraints ## Technical Details - Built with TypeScript and Node.js - Uses MCP SDK version 1.11.3 - Express.js for HTTP handling - Redis for caching and rate limiting ## License MIT

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/degenpilot404/yap_mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server