pinelabs-mcp-troubleshoot — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited pinelabs-mcp-troubleshoot (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Diagnose and resolve issues with the Pine Labs MCP server running locally.
Follow this sequence — each step narrows the problem category.
# Check Python version (need 3.10+)
python3 --version
# Check virtual environment is active
which python
# Should point to .venv/bin/python, NOT system Python
# If not active:
source .venv/bin/activate
# Check dependencies installed
pip list | grep -E "fastmcp|httpx|pydantic"
# All three must be presentCommon fix: pip install -r requirements.txt
# Start with debug logging
python -m cli.pinelabs_mcp_server.main stdio \
--client-id <ID> --client-secret <SECRET> \
--env uat --log-level DEBUG --log-file /tmp/mcp-debug.logCheck the log file for errors:
cat /tmp/mcp-debug.logCommon errors:
| Error | Cause | Fix |
|---|---|---|
ModuleNotFoundError: cli | Wrong working directory | cd to project root |
ModuleNotFoundError: fastmcp | Dependencies not installed | pip install -r requirements.txt |
ImportError | Python version too old | Upgrade to 3.10+ |
Address already in use | Port conflict (HTTP mode) | Use different --port or kill existing process |
# Test authentication directly
python -c "
import asyncio
from pkg.pinelabs.client import PineLabsClient
async def test():
client = PineLabsClient(
client_id='<ID>',
client_secret='<SECRET>',
base_url='https://pluraluat.v2.pinepg.in/api',
token_url='https://pluraluat.v2.pinepg.in/api/auth/v1/token',
)
token = await client._get_token()
print(f'Token obtained: {token[:20]}...')
await client.close()
asyncio.run(test())
"Common errors:
| Error | Cause | Fix |
|---|---|---|
401 Unauthorized | Wrong client ID or secret | Verify credentials with Pine Labs dashboard |
ConnectionError | Network/firewall blocking | Check internet, VPN, proxy settings |
TimeoutError | API unreachable | Check PINELABS_BASE_URL matches environment |
SSL certificate error | Corporate proxy/MITM | Set SSL_CERT_FILE env var or check proxy config |
#### VS Code
MCP: List Servers.vscode/mcp.json exists and has correct syntaxpython command resolves to the correct interpreter (venv)Fix for wrong Python path: Use absolute path in config:
"command": "/path/to/project/.venv/bin/python"#### Claude Desktop
~/Library/Application Support/Claude/claude_desktop_config.jsonclaude process errors (macOS)#### Cursor
.cursor/mcp.json in project root# Run tests to confirm tool registration works
make testIf only some tools are missing, check:
--toolsets flag — may be limiting which toolsets load--read-only flag — hides write toolspkg/pinelabs/tools.py for registration order# Verify image builds
docker build -t pinelabs-mcp-server .
# Run with debug logging
docker run --rm \
-e PINELABS_CLIENT_ID=<ID> \
-e PINELABS_CLIENT_SECRET=<SECRET> \
-e PINELABS_ENV=uat \
-e LOG_LEVEL=DEBUG \
pinelabs-mcp-server
# Check for permission issues (non-root user)
docker run --rm --entrypoint sh pinelabs-mcp-server -c "whoami && ls -la /app"Common Docker issues:
| Issue | Cause | Fix |
|---|---|---|
| Build fails at pip install | Network in build context | Use --network host or configure proxy |
| Container exits immediately | Missing env vars | Pass all required env vars via -e or .env |
| Permission denied | Non-root user can't access files | Check file ownership in Dockerfile |
| Can't connect from host | stdio transport needs special handling | Use docker compose from examples/ |
| Response Code | Meaning | Action |
|---|---|---|
VALIDATION_ERROR | Invalid input to tool | Check parameter format (IDs, amounts) |
NOT_FOUND | Resource doesn't exist | Verify ID, check environment (uat vs prod data) |
UNAUTHORIZED | Token expired or invalid | Restart server to refresh token cache |
RATE_LIMITED | Too many requests | Wait and retry; reduce request frequency |
INTERNAL_ERROR | Unexpected server-side error | Check logs, report if persistent |
| Symptom | Likely cause |
|---|---|
| Resources exist in dashboard but API returns 404 | Wrong --env (uat vs prod) |
| Auth works but no data | Credentials are for different environment |
| Amounts look wrong | Pine Labs uses paisa (100 paisa = ₹1) |
pip install -r requirements.txt done?pluraluat.v2.pinepg.in or api.pluralpay.in?make test passes?~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.