Add yargi-mcp-free deployment without authentication

- Create fly-no-auth.toml configuration for free deployment
- Deploy to yargi-mcp-free.fly.dev with ENABLE_AUTH=false
- Single machine deployment for development/testing use
- Update CLAUDE.md with new deployment endpoints and usage info

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
saidsurucu
2025-08-14 13:41:00 +03:00
co-authored by Claude
parent 4d7da0d3ba
commit 0f5bae8bb1
2 changed files with 80 additions and 0 deletions
+34
View File
@@ -1542,13 +1542,25 @@ This ASGI support transforms the Yargı MCP server into a versatile web service
**Authentication**: ✅ **OAuth 2.0 + Bearer JWT** - Cross-origin authentication working
**Last Updated**: 2025-01-21 - All critical issues resolved
**Free Deployment**: `https://yargi-mcp-free.fly.dev` - No authentication required
**Status**: ✅ **OPERATIONAL** - Authorization disabled for open access
**Use Case**: Development, testing, and open-source usage without OAuth setup
#### Live Production Endpoints
**Authenticated Deployment (api.yargimcp.com)**:
- **Health Check**: https://api.yargimcp.com/health
- **OAuth Login**: https://api.yargimcp.com/auth/login
- **MCP Endpoint (HTTP)**: https://api.yargimcp.com/mcp/
- **MCP Endpoint (SSE)**: https://api.yargimcp.com/sse/
- **OAuth Discovery**: https://api.yargimcp.com/.well-known/oauth-authorization-server
**Free Deployment (yargi-mcp-free.fly.dev)**:
- **Health Check**: https://yargi-mcp-free.fly.dev/health
- **MCP Endpoint (HTTP)**: https://yargi-mcp-free.fly.dev/mcp/
- **MCP Endpoint (SSE)**: https://yargi-mcp-free.fly.dev/sse/
- **Direct Access**: No authentication required - immediate usage
### Redis Configuration (Fly.io Native Upstash) ✅
The server uses Fly.io's native Upstash Redis integration for OAuth session storage:
@@ -1631,6 +1643,8 @@ ENABLE_AUTH=true
```
#### MCP Connection Details for Claude AI
**Authenticated Production (api.yargimcp.com)**:
```
MCP Server URL (HTTP): https://api.yargimcp.com/mcp/
MCP Server URL (SSE): https://api.yargimcp.com/sse/
@@ -1640,6 +1654,15 @@ Authentication: OAuth 2.0 with PKCE + JWT tokens + Bearer JWT (optional)
Transports: HTTP (Streamable) + SSE (Server-Sent Events)
```
**Free Open Access (yargi-mcp-free.fly.dev)**:
```
MCP Server URL (HTTP): https://yargi-mcp-free.fly.dev/mcp/
MCP Server URL (SSE): https://yargi-mcp-free.fly.dev/sse/
Authentication: None - Direct access
Transports: HTTP (Streamable) + SSE (Server-Sent Events)
Use Case: Development, testing, immediate usage without OAuth setup
```
#### SSE Transport Implementation ✅
The server now supports **Server-Sent Events (SSE)** transport alongside HTTP:
@@ -2069,6 +2092,17 @@ build-backend = "setuptools.build_meta"
- ✅ Session management and tool discovery
- **Claude AI**: Successfully connects and uses all Turkish legal database tools
#### ✅ Bedesten Tools Null Safety Fixes (Completed - Jul 23, 2025)
- **Issue**: TypeError "cannot convert undefined or null to object" in Bedesten search and document tools
- **Root Cause**: API responses containing null/undefined fields without proper validation
- **Fixes Applied**:
- ✅ **Search Function**: Added null safety checks for `response.data.emsalKararList` and `response.data.total`
- ✅ **Document Function**: Added comprehensive validation for `doc_response.data`, `content`, and `mimeType` fields
-**Error Handling**: Added descriptive error messages and graceful fallbacks
-**Base64 Decoding**: Protected base64 operations with try-catch blocks
- **Result**: Bedesten tools now handle API edge cases gracefully without crashing
- **Production Status**: Deployed and operational on api.yargimcp.com
### Key Features
- **FastMCP Framework**: Modern MCP server implementation
- **Unified APIs**: Single interface for multiple court systems
+46
View File
@@ -0,0 +1,46 @@
# fly.toml app configuration file for yargi-mcp-noauth
#
# See https://fly.io/docs/reference/configuration/ for information about how to use this file.
#
app = 'yargi-mcp-free'
primary_region = 'fra'
[env]
ENABLE_AUTH = "false"
HOST = "0.0.0.0"
PORT = "8000"
LOG_LEVEL = "info"
[build]
[http_service]
internal_port = 8000
force_https = true
auto_stop_machines = 'off'
auto_start_machines = true
min_machines_running = 1
processes = ['app']
# Enable connection persistence for MCP sessions
[http_service.concurrency]
type = "connections"
hard_limit = 100
soft_limit = 80
[[vm]]
memory = '1gb'
cpu_kind = 'shared'
cpus = 1
[deploy]
strategy = "immediate"
[processes]
app = "python asgi_app.py"
[checks.http_health] # keep MCP /health live
type = "http"
interval = "30s"
timeout = "10s"
path = "/health"