docs: update all URL references to new username/slug format
Update all documentation, code, and tests to use the new endpoint formats:
- MCP: /api/mcp/{username}/{collection-slug}/{transport}
- Agent: /api/{username}/agents/{agent-uid}/conversation/{id}
Changes include:
- Update MCP URLs in collections page, docs, and test script
- Update agent API URLs in chat page, docs, tests, and cron job
- Add API key authentication requirements to all examples
- Update ARCHITECTURE.md with correct endpoint formats
- Update discord cron job to fetch owner username for new URL format
This commit is contained in:
parent
2b4526ba95
commit
2fb790a847
9 changed files with 163 additions and 93 deletions
|
|
@ -1,49 +1,67 @@
|
|||
#!/bin/bash
|
||||
|
||||
# Test script for MCP endpoints
|
||||
# Usage: ./test-mcp.sh <collection-id> [base-url]
|
||||
# Usage: ./test-mcp.sh <username> <collection-slug> [base-url] [api-key]
|
||||
#
|
||||
# The new MCP URL format is: /api/mcp/{username}/{slug}/{transport}
|
||||
# Collection ID is also supported as slug for backwards compatibility
|
||||
|
||||
COLLECTION_ID=${1:-""}
|
||||
BASE_URL=${2:-"https://tpmjs.com"}
|
||||
USERNAME=${1:-""}
|
||||
COLLECTION_SLUG=${2:-""}
|
||||
BASE_URL=${3:-"https://tpmjs.com"}
|
||||
API_KEY=${4:-""}
|
||||
|
||||
if [ -z "$COLLECTION_ID" ]; then
|
||||
echo "Usage: ./test-mcp.sh <collection-id> [base-url]"
|
||||
echo "Example: ./test-mcp.sh clx123abc https://tpmjs.com"
|
||||
if [ -z "$USERNAME" ] || [ -z "$COLLECTION_SLUG" ]; then
|
||||
echo "Usage: ./test-mcp.sh <username> <collection-slug> [base-url] [api-key]"
|
||||
echo "Example: ./test-mcp.sh ajax my-collection https://tpmjs.com tpmjs_sk_xxx"
|
||||
echo ""
|
||||
echo "Note: Collection ID can also be used as slug for backwards compatibility"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Build auth header if API key provided
|
||||
AUTH_HEADER=""
|
||||
if [ -n "$API_KEY" ]; then
|
||||
AUTH_HEADER="-H \"Authorization: Bearer $API_KEY\""
|
||||
fi
|
||||
|
||||
echo "================================================"
|
||||
echo "Testing MCP endpoints for collection: $COLLECTION_ID"
|
||||
echo "Testing MCP endpoints"
|
||||
echo "Username: $USERNAME"
|
||||
echo "Collection: $COLLECTION_SLUG"
|
||||
echo "Base URL: $BASE_URL"
|
||||
echo "Auth: ${API_KEY:+API key provided}"
|
||||
echo "================================================"
|
||||
echo ""
|
||||
|
||||
# Test 1: HTTP transport - GET (server info)
|
||||
echo "1. Testing HTTP GET (server info)..."
|
||||
echo " GET $BASE_URL/api/collections/$COLLECTION_ID/mcp/http"
|
||||
curl -s "$BASE_URL/api/collections/$COLLECTION_ID/mcp/http" | jq .
|
||||
echo " GET $BASE_URL/api/mcp/$USERNAME/$COLLECTION_SLUG/http"
|
||||
eval curl -s "$BASE_URL/api/mcp/$USERNAME/$COLLECTION_SLUG/http" $AUTH_HEADER | jq .
|
||||
echo ""
|
||||
|
||||
# Test 2: HTTP transport - initialize
|
||||
echo "2. Testing HTTP POST (initialize)..."
|
||||
echo " POST $BASE_URL/api/collections/$COLLECTION_ID/mcp/http"
|
||||
curl -s -X POST "$BASE_URL/api/collections/$COLLECTION_ID/mcp/http" \
|
||||
echo " POST $BASE_URL/api/mcp/$USERNAME/$COLLECTION_SLUG/http"
|
||||
eval curl -s -X POST "$BASE_URL/api/mcp/$USERNAME/$COLLECTION_SLUG/http" \
|
||||
-H "Content-Type: application/json" \
|
||||
$AUTH_HEADER \
|
||||
-d '{"jsonrpc":"2.0","method":"initialize","id":1}' | jq .
|
||||
echo ""
|
||||
|
||||
# Test 3: HTTP transport - tools/list
|
||||
echo "3. Testing HTTP POST (tools/list)..."
|
||||
echo " POST $BASE_URL/api/collections/$COLLECTION_ID/mcp/http"
|
||||
curl -s -X POST "$BASE_URL/api/collections/$COLLECTION_ID/mcp/http" \
|
||||
echo " POST $BASE_URL/api/mcp/$USERNAME/$COLLECTION_SLUG/http"
|
||||
eval curl -s -X POST "$BASE_URL/api/mcp/$USERNAME/$COLLECTION_SLUG/http" \
|
||||
-H "Content-Type: application/json" \
|
||||
$AUTH_HEADER \
|
||||
-d '{"jsonrpc":"2.0","method":"tools/list","id":2}' | jq .
|
||||
echo ""
|
||||
|
||||
# Test 4: SSE transport - GET (event stream)
|
||||
echo "4. Testing SSE GET (event stream)..."
|
||||
echo " GET $BASE_URL/api/collections/$COLLECTION_ID/mcp/sse"
|
||||
curl -s -N "$BASE_URL/api/collections/$COLLECTION_ID/mcp/sse" &
|
||||
echo " GET $BASE_URL/api/mcp/$USERNAME/$COLLECTION_SLUG/sse"
|
||||
eval curl -s -N "$BASE_URL/api/mcp/$USERNAME/$COLLECTION_SLUG/sse" $AUTH_HEADER &
|
||||
SSE_PID=$!
|
||||
sleep 2
|
||||
kill $SSE_PID 2>/dev/null
|
||||
|
|
@ -52,26 +70,28 @@ echo ""
|
|||
|
||||
# Test 5: SSE transport - initialize
|
||||
echo "5. Testing SSE POST (initialize)..."
|
||||
echo " POST $BASE_URL/api/collections/$COLLECTION_ID/mcp/sse"
|
||||
curl -s -X POST "$BASE_URL/api/collections/$COLLECTION_ID/mcp/sse" \
|
||||
echo " POST $BASE_URL/api/mcp/$USERNAME/$COLLECTION_SLUG/sse"
|
||||
eval curl -s -X POST "$BASE_URL/api/mcp/$USERNAME/$COLLECTION_SLUG/sse" \
|
||||
-H "Content-Type: application/json" \
|
||||
$AUTH_HEADER \
|
||||
-d '{"jsonrpc":"2.0","method":"initialize","id":1}'
|
||||
echo ""
|
||||
echo ""
|
||||
|
||||
# Test 6: SSE transport - tools/list
|
||||
echo "6. Testing SSE POST (tools/list)..."
|
||||
echo " POST $BASE_URL/api/collections/$COLLECTION_ID/mcp/sse"
|
||||
curl -s -X POST "$BASE_URL/api/collections/$COLLECTION_ID/mcp/sse" \
|
||||
echo " POST $BASE_URL/api/mcp/$USERNAME/$COLLECTION_SLUG/sse"
|
||||
eval curl -s -X POST "$BASE_URL/api/mcp/$USERNAME/$COLLECTION_SLUG/sse" \
|
||||
-H "Content-Type: application/json" \
|
||||
$AUTH_HEADER \
|
||||
-d '{"jsonrpc":"2.0","method":"tools/list","id":2}'
|
||||
echo ""
|
||||
echo ""
|
||||
|
||||
# Test 7: Invalid transport
|
||||
echo "7. Testing invalid transport..."
|
||||
echo " GET $BASE_URL/api/collections/$COLLECTION_ID/mcp/invalid"
|
||||
curl -s "$BASE_URL/api/collections/$COLLECTION_ID/mcp/invalid" | jq .
|
||||
echo " GET $BASE_URL/api/mcp/$USERNAME/$COLLECTION_SLUG/invalid"
|
||||
eval curl -s "$BASE_URL/api/mcp/$USERNAME/$COLLECTION_SLUG/invalid" $AUTH_HEADER | jq .
|
||||
echo ""
|
||||
|
||||
echo "================================================"
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue