ai-universe-httpie
Use HTTPie to call AI Universe MCP server for multi-model analysis
- License 许可
- MIT
- 最近更新
- 2026-11-11
- Stars
- ★ 6
- Forks
- 0
01 前言 Front Matter
- name
- ai-universe-httpie
- type
- usage
- scope
- project
- description
- Use HTTPie to call AI Universe MCP server for multi-model analysis
03 SKILL.md 正文
AI Universe HTTPie Usage Guide
This skill demonstrates how to use HTTPie to call the AI Universe MCP server directly for multi-model AI feedback.
Prerequisites
-
Install HTTPie:
# macOS brew install httpie # Ubuntu/Debian apt-get install httpie # Python (universal) pip install httpie -
Authenticate:
node scripts/auth-cli.mjs login
Basic HTTPie Usage with MCP
Get Authentication Token
Prerequisite: Run
node scripts/auth-cli.mjs loginat least once so a valid token exists locally.
# Export token for reuse
export TOKEN=$(node scripts/auth-cli.mjs token)
MCP Server Configuration
MCP_URL="${AI_UNIVERSE_MCP_URL:?AI_UNIVERSE_MCP_URL not configured: AI Universe MCP endpoint, e.g. https://<ai-universe-host>/mcp}"
Example: Second Opinion Request
1. Simple Question
echo '{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "agent.second_opinion",
"arguments": {
"question": "Should I use Redis or in-memory caching for rate limiting?"
}
},
"id": 1
}' | http POST "$MCP_URL" \
Accept:'application/json, text/event-stream' \
Authorization:"Bearer $TOKEN" \
--timeout=180
2. Design Review Request
# Create request JSON
REQUEST_JSON=$(cat <<'EOF'
{
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"name": "agent.second_opinion",
"arguments": {
"question": "Design Review: Authentication system using Firebase\n\nAnalyze the architectural decisions:\n- Is OAuth flow appropriate?\n- Are there better alternatives?\n- What are potential security issues?\n- Industry best practices comparison?"
}
},
"id": 1
}
EOF
)
# Send request with HTTPie
echo "$REQUEST_JSON" | http POST "$MCP_URL" \
Accept:'application/json, text/event-stream' \
Authorization:"Bearer $TOKEN" \
--timeout=180 \
--print=b
3. Code Review Request
QUESTION="Code Review: Review this authentication flow for:
- Security vulnerabilities
- Token handling best practices
- Error handling gaps
- Rate limiting implementation
- Session management"
echo "{
\"jsonrpc\": \"2.0\",
\"method\": \"tools/call\",
\"params\": {
\"name\": \"agent.second_opinion\",
\"arguments\": {
\"question\": $(echo "$QUESTION" | jq -Rs .)
}
},
\"id\": 1
}" | http POST "$MCP_URL" \
Accept:'application/json, text/event-stream' \
Authorization:"Bearer $TOKEN" \
--timeout=180
4. Bug Investigation Request
http POST "$MCP_URL" \
Accept:'application/json, text/event-stream' \
Authorization:"Bearer $TOKEN" \
jsonrpc=2.0 \
method=tools/call \
params:='{
"name": "agent.second_opinion",
"arguments": {
"question": "Bug Investigation: Investigate potential issues:\n- Race conditions in async operations\n- Memory leaks in long-running processes\n- Edge cases in error handling\n- Type safety concerns"
}
}' \
id:=1
HTTPie Features for MCP Calls
1. Pretty Print Response
# Default behavior - pretty JSON output
echo "$REQUEST_JSON" | http POST "$MCP_URL" \
Authorization:"Bearer $TOKEN"
2. Download Response to File
echo "$REQUEST_JSON" | http POST "$MCP_URL" \
Authorization:"Bearer $TOKEN" \
--download \
--output=response.json
3. Inspect the Response Without Logging Credentials
echo "$REQUEST_JSON" | http POST "$MCP_URL" \
Authorization:"Bearer $TOKEN" \
--print=b
Do not enable request-header, verbose or debug logging on authenticated calls: the Authorization header contains the bearer token. Redact credentials before sharing any saved response or diagnostic output.
4. Follow Redirects
echo "$REQUEST_JSON" | http POST "$MCP_URL" \
Authorization:"Bearer $TOKEN" \
--follow
5. Custom Timeout
echo "$REQUEST_JSON" | http POST "$MCP_URL" \
Authorization:"Bearer $TOKEN" \
--timeout=300 # 5 minutes
Parse Response with jq
Extract Primary Opinion
RESPONSE=$(echo "$REQUEST_JSON" | http POST "$MCP_URL" \
Authorization:"Bearer $TOKEN" \
--print=b)
echo "$RESPONSE" | jq -r '.result.content[0].text' | jq -r '.primary.response'
Extract Synthesis
echo "$RESPONSE" | jq -r '.result.content[0].text' | jq -r '.synthesis.response'
Extract Cost Information
echo "$RESPONSE" | jq -r '.result.content[0].text' | jq '{
models: .summary.totalModels,
tokens: .summary.totalTokens,
cost: .summary.totalCost
}'
Rate Limit Status Check
# Get current rate limit status
USER_ID=$(node scripts/auth-cli.mjs status | awk '/UID:/ {print $2}')
if [ -z "$USER_ID" ]; then
echo "❌ Unable to determine user ID. Run: node scripts/auth-cli.mjs login"
else
jq -n --arg user_id "$USER_ID" '{
jsonrpc: "2.0",
method: "tools/call",
params: {
name: "rate-limit.status",
arguments: {
userId: $user_id
}
},
id: 1
}' | http POST "$MCP_URL" \
Authorization:"Bearer $TOKEN"
fi
Error Handling
Check for Errors in Response
if echo "$RESPONSE" | jq -e '.error' >/dev/null 2>&1; then
echo "Error:" $(echo "$RESPONSE" | jq -r '.error')
# Check for rate limit
if echo "$RESPONSE" | jq -e '.details.resetTime' >/dev/null 2>&1; then
echo "Rate limited. Reset at:" $(echo "$RESPONSE" | jq -r '.details.resetTime')
fi
fi
Integration with Scripts
Complete HTTPie Script Example
#!/bin/bash
# Get token
TOKEN=$(node scripts/auth-cli.mjs token 2>/dev/null)
if [ $? -ne 0 ]; then
echo "❌ Not authenticated. Run: node scripts/auth-cli.mjs login"
exit 1
fi
# Construct question
QUESTION="$1"
if [ -z "$QUESTION" ]; then
echo "Usage: $0 'your question here'"
exit 1
fi
# Send request
RESPONSE=$(echo "{
\"jsonrpc\": \"2.0\",
\"method\": \"tools/call\",
\"params\": {
\"name\": \"agent.second_opinion\",
\"arguments\": {
\"question\": $(echo "$QUESTION" | jq -Rs .)
}
},
\"id\": 1
}" | http POST "$AI_UNIVERSE_MCP_URL" \
Accept:'application/json, text/event-stream' \
Authorization:"Bearer $TOKEN" \
--timeout=180 \
--print=b)
# Parse and display
echo "$RESPONSE" | jq -r '.result.content[0].text' | jq '.'
HTTPie vs curl
Why HTTPie is preferred:
- ✅ More readable syntax
- ✅ Automatic JSON formatting
- ✅ Pretty-printed output by default
- ✅ Better error messages
- ✅ Session support
- ✅ Easier header management
HTTPie Example:
http POST $URL Authorization:"Bearer $TOKEN" < request.json
curl Equivalent:
curl -X POST "$URL" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d @request.json
See Also
- ai-universe-auth.md - Authentication setup
- the
/second_opinioncommand - Second opinion command docs ${CLAUDE_HOME:-$HOME/.claude}/scripts/secondo-cli.sh- Implementation reference
04 同仓库更多 Skills
instinct
Use when the user invokes /instinct or /in, or asks to "message Instinct", "ask Instinct", "tell Instinct", "check Instinct", or read replies from the configured peer assistant. iMessage first, WhatsApp Web as fallback.
hr
Compatibility alias for history-resume; produce the same fresh-state, provenance-aware resume briefing.
history-resume
Resume briefing for the current repository branch or worktree using fresh state and admitted history sources.
grok
Alias for the canonical grokbot browser conversation workflow; /grok talks to the Grok bot the same way /dot talks to Dot.
codexa-bench
Compare `codexa` and normal `codex` on a fair split of comparable work by default; use `--strict` for duplicate runs of the exact same task.
frontend-design
Create distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, artifacts, posters, or applications (examples include websites, landing pages, dashboards, React components, HTML/CSS layouts, or when styling/beautifying any web UI). Generates creative, polished code and UI design that avoids generic AI aesthetics.