{"_id":"@arahangua/scapo-mcp-server","_rev":"4-374bda112b5c144369e6e4986a027ec4","name":"@arahangua/scapo-mcp-server","dist-tags":{"latest":"1.0.4"},"versions":{"1.0.0":{"name":"@arahangua/scapo-mcp-server","version":"1.0.0","keywords":["mcp","ai","llm","best-practices","claude"],"author":{"name":"SCAPO Team"},"license":"MIT","_id":"@arahangua/scapo-mcp-server@1.0.0","maintainers":[{"name":"arahangua","email":"arahangua@gmail.com"}],"bin":{"scapo-mcp":"index.js"},"dist":{"shasum":"dc45039b862c008f808965604ee7ced7043e7110","tarball":"https://registry.npmjs.org/@arahangua/scapo-mcp-server/-/scapo-mcp-server-1.0.0.tgz","fileCount":6,"integrity":"sha512-QXG/K+oGXf+SsApNAK7P+QPgR+kPr5HNneKONNWoeI3JFiWt6G8iiEoyiUx8DXxfYoiBDneZ7OedYFWtSFbQSg==","signatures":[{"sig":"MEUCIQCIT6ciLG0SoXKWIHX9ysfPChkV2owBMXbDcvgZ9KRSIQIgIKDQ+5f0fdg4CUQCq6ZejMarMfp1Rvmeoq6QnEGmBWk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41723},"main":"index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"2a3fb306bb0f7a6a77c76c35aec6a049047413a1","scripts":{"test":"node test.js","start":"node index.js"},"_npmUser":{"name":"arahangua","email":"arahangua@gmail.com"},"_npmVersion":"11.4.1","description":"Stay Calm and Prompt On (SCAPO) - MCP server for AI/ML best practices","directories":{},"_nodeVersion":"22.16.0","dependencies":{"node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^0.5.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/scapo-mcp-server_1.0.0_1755328662745_0.24981302467006294","host":"s3://npm-registry-packages-npm-production"}},"1.0.2":{"name":"@arahangua/scapo-mcp-server","version":"1.0.2","keywords":["mcp","ai","llm","best-practices","claude"],"author":{"name":"SCAPO Team"},"license":"MIT","_id":"@arahangua/scapo-mcp-server@1.0.2","maintainers":[{"name":"arahangua","email":"arahangua@gmail.com"}],"bin":{"scapo-mcp":"index.js"},"dist":{"shasum":"ef125f2f1743c9a1659483fdca01943ae309bf98","tarball":"https://registry.npmjs.org/@arahangua/scapo-mcp-server/-/scapo-mcp-server-1.0.2.tgz","fileCount":6,"integrity":"sha512-hmfYCLPvy8g5vQFUWSQS72TMoEdQRY/eKZSCPuqNUCH/jE8GUA7Oh9McuUPgbUA5sHm3i4EN268yoD9GkVWFhg==","signatures":[{"sig":"MEYCIQCSCv4MK+ldoEEPO5b1wszMrhJxsWVx51nejmWVb59y1AIhANlOWwnwxLWgiaLmFcVg9CW/Y5inlW2NGQJsJNE4Jh4c","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41582},"main":"index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"2a3fb306bb0f7a6a77c76c35aec6a049047413a1","scripts":{"test":"node test.js","start":"node index.js"},"_npmUser":{"name":"arahangua","email":"arahangua@gmail.com"},"_npmVersion":"11.4.1","description":"Stay Calm and Prompt On (SCAPO) - MCP server for AI/ML best practices","directories":{},"_nodeVersion":"22.16.0","dependencies":{"node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^0.5.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/scapo-mcp-server_1.0.2_1755329738560_0.4060917398030228","host":"s3://npm-registry-packages-npm-production"}},"1.0.3":{"name":"@arahangua/scapo-mcp-server","version":"1.0.3","keywords":["mcp","ai","llm","best-practices","claude"],"author":{"name":"SCAPO Team"},"license":"MIT","_id":"@arahangua/scapo-mcp-server@1.0.3","maintainers":[{"name":"arahangua","email":"arahangua@gmail.com"}],"bin":{"scapo-mcp":"index.js"},"dist":{"shasum":"02ddfe6f3576df7315f316e6b7a1814ff7f7b41b","tarball":"https://registry.npmjs.org/@arahangua/scapo-mcp-server/-/scapo-mcp-server-1.0.3.tgz","fileCount":6,"integrity":"sha512-IaIbedaTXAvuWpuIhsfiN/WFHJvFYbulkChSOZLkKEzQ6mY9OeJ1vngdTGwifOIrxxaiz2NArx/I2W4wooPInQ==","signatures":[{"sig":"MEUCIQDm73L4hQFMSIRa2UOB8t2JZSEnVt55EN1urq808iw6OgIgK7iOJ4cHdpnfUSNSNYgK79cD125ZScKwU3HLelwt6tw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":41635},"main":"index.js","type":"module","engines":{"node":">=18.0.0"},"gitHead":"2a3fb306bb0f7a6a77c76c35aec6a049047413a1","scripts":{"test":"node test.js","start":"node index.js"},"_npmUser":{"name":"arahangua","email":"arahangua@gmail.com"},"_npmVersion":"11.4.1","description":"Stay Calm and Prompt On (SCAPO) - MCP server for AI/ML best practices","directories":{},"_nodeVersion":"22.16.0","dependencies":{"node-fetch":"^3.3.2","@modelcontextprotocol/sdk":"^0.5.0"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/scapo-mcp-server_1.0.3_1755329951919_0.053019222063223514","host":"s3://npm-registry-packages-npm-production"}},"1.0.4":{"name":"@arahangua/scapo-mcp-server","version":"1.0.4","description":"Stay Calm and Prompt On (SCAPO) - MCP server for AI/ML best practices","main":"index.js","type":"module","bin":{"scapo-mcp":"index.js"},"scripts":{"start":"node index.js","test":"node test.js"},"keywords":["mcp","ai","llm","best-practices","claude"],"author":{"name":"SCAPO Team"},"license":"MIT","dependencies":{"@modelcontextprotocol/sdk":"^0.5.0","node-fetch":"^3.3.2"},"engines":{"node":">=18.0.0"},"_id":"@arahangua/scapo-mcp-server@1.0.4","gitHead":"2a3fb306bb0f7a6a77c76c35aec6a049047413a1","_nodeVersion":"22.16.0","_npmVersion":"11.4.1","dist":{"integrity":"sha512-gi8iRC+iBI37LoEvOdLdBq1knksK3W+bGIz1/XSSjWoIUDYj0GPz4As9hRG7NPUfECrspYnGV6lbpk+CfUKzSg==","shasum":"92638ce3f3c4841701854ac6a11aab3083375752","tarball":"https://registry.npmjs.org/@arahangua/scapo-mcp-server/-/scapo-mcp-server-1.0.4.tgz","fileCount":6,"unpackedSize":42318,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDI3K1df+xiSxM0f0QHmR1qQxTVDNyIMBBUwDji40CejwIgFblsyXB+GR05DJQ8GE2Ot6fm/tT/NsvUt1FzzLzAVjk="}]},"_npmUser":{"name":"arahangua","email":"arahangua@gmail.com"},"directories":{},"maintainers":[{"name":"arahangua","email":"arahangua@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/scapo-mcp-server_1.0.4_1755330212969_0.9373479773993081"},"_hasShrinkwrap":false}},"time":{"created":"2025-08-16T07:17:42.679Z","modified":"2025-08-16T07:43:33.299Z","1.0.0":"2025-08-16T07:17:42.941Z","1.0.2":"2025-08-16T07:35:38.793Z","1.0.3":"2025-08-16T07:39:12.140Z","1.0.4":"2025-08-16T07:43:33.131Z"},"author":{"name":"SCAPO Team"},"license":"MIT","keywords":["mcp","ai","llm","best-practices","claude"],"description":"Stay Calm and Prompt On (SCAPO) - MCP server for AI/ML best practices","maintainers":[{"name":"arahangua","email":"arahangua@gmail.com"}],"readme":"# SCAPO MCP Server\n\nA Model Context Protocol (MCP) server that makes your locally-extracted SCAPO knowledge base queryable. \n\n⚠️ **This is a reader, not a scraper!** You must first use [SCAPO](https://github.com/czero-cc/scapo) to extract tips into your `models/` folder.\n\n## Documentation\n\nFor comprehensive usage instructions, examples, and technical details, please see the **[Usage Guide](usage-guide.md)**.\n\n## Prerequisites\n\n1. **Clone and set up SCAPO first**:\n   ```bash\n   git clone https://github.com/czero-cc/scapo.git\n   cd scapo\n   # Follow SCAPO setup to run scrapers and populate models/\n   ```\n\n2. **Required**:\n   - Node.js 18+ \n   - npm or npx\n   - Populated `models/` directory (from running SCAPO scrapers)\n\n## How It Works\n\n**IMPORTANT**: This MCP server ONLY reads from your local `models/` folder. It does NOT scrape data itself!\n\n1. First, use SCAPO to scrape and extract tips into `models/`\n2. Then, this MCP server makes those tips queryable in your AI client\n\n## Quick Start\n\n```bash\n# Step 1: Set up SCAPO and extract tips\ngit clone https://github.com/czero-cc/scapo.git\ncd scapo\n# Follow SCAPO README to configure and run scrapers\nscapo scrape targeted --service \"GitHub Copilot\" --limit 20\n\n# Step 2: Configure MCP to read your extracted tips\n# Add to your MCP client config with YOUR path to scapo/models/\n```\n\n## Installation\n\n```bash\nnpx @arahangua/scapo-mcp-server\n```\n\n## Configuration for MCP Clients\n\nAdd this to your MCP client's configuration:\n\n```json\n{\n  \"mcpServers\": {\n    \"scapo\": {\n      \"command\": \"npx\",\n      \"args\": [\"@arahangua/scapo-mcp-server\"],\n      \"env\": {\n        \"SCAPO_MODELS_PATH\": \"/absolute/path/to/your/scapo/models\"  // From your cloned SCAPO repo!\n      }\n    }\n  }\n}\n```\n\n**Note:** Set `SCAPO_MODELS_PATH` to the absolute path of your SCAPO models directory.\n\nFor Claude Desktop specifically:\n- Windows: Edit `%APPDATA%\\Claude\\claude_desktop_config.json`\n- macOS: Edit `~/Library/Application Support/Claude/claude_desktop_config.json`\n\n## Available Tools\n\n### 1. get_best_practices\nGet AI/ML best practices for a specific model.\n\n```\nArguments:\n- model_name: Model name (e.g., \"Qwen3-Coder-Flash\", \"Llama-3.2-1B\")\n- practice_type: Type of practices (\"all\", \"prompting\", \"parameters\", \"pitfalls\")\n```\n\nExample in Claude:\n> \"Can you get me the best practices for Qwen3-Coder-Flash?\"\n\n### 2. search_models\nSearch for models by keyword.\n\n```\nArguments:\n- query: Search query\n- limit: Maximum results (default: 10)\n```\n\nExample in Claude:\n> \"Search for models that are good for coding\"\n\n### 3. list_models\nList all available models by category.\n\n```\nArguments:\n- category: Model category (\"text\", \"image\", \"video\", \"audio\", \"multimodal\", \"code\", \"all\")\n```\n\nExample in Claude:\n> \"List all available text models\"\n\n### 4. get_recommended_models\nGet recommended models for a specific use case.\n\n```\nArguments:\n- use_case: Use case (e.g., \"code_generation\", \"creative_writing\", \"image_generation\")\n```\n\nExample in Claude:\n> \"What models do you recommend for code generation?\"\n\n## Environment Variables\n\n- `SCAPO_MODELS_PATH`: Path to local models directory (defaults to `../models` relative to MCP server)\n- `SCAPO_API_URL`: Optional API endpoint (not needed for basic usage)\n\n## Features\n\n- **Intelligent Fuzzy Matching**: Handles typos, partial names, and variations automatically\n  - Typo tolerance: `heygen` → \"HeyGen\", `gemeni` → \"Gemini\"\n  - Partial matching: `qwen` → finds all Qwen variants\n  - Case insensitive: `LLAMA-3` → \"llama-3\"\n- **Fully Standalone**: Works without any API server running\n- **Direct File Access**: Reads from local model files\n- **Smart Search**: Advanced search with similarity scoring\n- **Smart Recommendations**: Suggests models based on use case\n- **Easy Integration**: Works with any MCP-compatible client\n- **Helpful Suggestions**: Provides alternatives when exact matches aren't found\n\n## Use Cases\n\nThe MCP server recognizes these use cases for recommendations:\n- `code_generation`: Programming and code completion\n- `creative_writing`: Stories, articles, creative content\n- `image_generation`: Text-to-image generation\n- `chat_conversation`: Conversational AI\n\n## Directory Structure\n\nThe server expects this structure in your models directory:\n\n```\nmodels/\n├── text/\n│   ├── Qwen3-Coder-Flash/\n│   │   ├── prompting.md\n│   │   ├── parameters.json\n│   │   ├── pitfalls.md\n│   │   └── metadata.json\n│   └── Llama-3.2-1B/\n│       └── ...\n├── image/\n│   └── stable-diffusion/\n│       └── ...\n└── ...\n```\n\n## Contributing\n\nTo contribute improvements:\n1. Fork the [SCAPO repository](https://github.com/czero-cc/SCAPO)\n2. Make your changes in the `mcp/` directory\n3. Submit a pull request\n\n## License\n\nSame as the parent [SCAPO](https://github.com/czero-cc/SCAPO) repository.","readmeFilename":"README.md"}