Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Oracle Fusion AR MCP ServerList all open invoices for Acme Corp from the last month"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Oracle Fusion AR MCP Server π
A remote Model Context Protocol (MCP) server built in Python that provides secure access to Oracle Fusion Cloud Accounts Receivable REST API. Deploy once, share with everyone!
π Key Features
π Remote MCP Server: Deploy to cloud and share via URL
π Secure: No credential storage, per-request authentication
π Three MCP Tools:
oracle_ar_list_invoices- List and filter invoicesoracle_ar_get_invoice_details- Get detailed invoice informationoracle_ar_search_invoices- Advanced search with statistics
π Dual Output: Both JSON and human-readable Markdown
β‘ Fast: Built with Python + uv + httpx (async)
βοΈ Cloud-Ready: One-click deploy to Railway, Render, Heroku
π Quick Deploy
Deploy to Railway (Recommended - Free Tier Available)
Click the button above or go to railway.app
Connect your GitHub repository
Set environment variable:
ORACLE_BASE_URL:https://fa-euth-dev46-saasfademo1.ds-fa.oraclepdemos.com
Deploy! π
You'll get a URL like: https://oracle-ar-mcp-server-production.up.railway.app
Deploy to Render
Click the button or go to render.com
Connect your GitHub repository
Render auto-detects configuration from
render.yamlDeploy! π
Other Platforms
See DEPLOYMENT.md for detailed instructions for:
Heroku
Google Cloud Run
AWS ECS/Fargate
Azure Container Apps
Docker deployment
π‘ Connect to Your Deployed Server
Once deployed, anyone can connect using your server URL.
For Claude Desktop
Add to claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
Test Your Deployment
π API Documentation
Endpoints
GET /- Service information and available toolsGET /health- Health check endpointGET /sse- SSE endpoint for MCP connectionsPOST /messages- MCP message endpoint
MCP Tools
1. oracle_ar_list_invoices
List invoices with optional filtering and pagination.
Parameters:
2. oracle_ar_get_invoice_details
Get detailed information about a specific invoice.
Parameters:
3. oracle_ar_search_invoices
Advanced search with filters and statistics.
Parameters:
π οΈ Local Development
Prerequisites
Python 3.10+
uv (recommended)
Oracle Fusion Cloud credentials
Setup
Run Locally
Run Tests
π Security
β Secure Design
No Credential Storage: Credentials are passed per-request only
Stateless: No session state stored on server
No Logging: Credentials are never logged
HTTPS Only: All communication encrypted (via hosting platform)
Input Validation: Full Pydantic validation on all inputs
π Authentication Flow
User calls MCP tool with Oracle username/password
Server receives request (credentials in memory only)
Server authenticates request to Oracle API
Oracle returns data
Server formats and returns response
Credentials discarded (not stored anywhere)
π Technology Stack
Python 3.12 - Modern async Python
uv - Fast, reliable package manager
MCP SDK - Model Context Protocol support
httpx - Async HTTP client
Pydantic - Data validation and type safety
Starlette - ASGI web framework
uvicorn - ASGI server
pytest - Testing framework
π Project Structure
π€ Sharing Your Server
After deploying, share your server with others:
1. Share the SSE Endpoint URL
2. Provide Configuration Instructions
Users add this to their Claude Desktop config:
3. Users Provide Their Own Credentials
Each user must have their own Oracle Fusion credentials, which they provide when using the tools. The server never stores or shares credentials between users.
π§ͺ Testing
Manual Testing
Automated Testing
π Monitoring
Health Check
Response:
Platform Logs
Railway: Dashboard β Your App β Logs
Render: Dashboard β Your Service β Logs
Heroku:
heroku logs --tail
π° Cost
Free Tier Options
Railway: $5 credit/month (sufficient for light use)
Render: 750 hours/month free
Heroku: Free with credit card (1000 dyno hours/month)
Paid Plans (Production)
Railway: ~$5-10/month
Render: ~$7/month
Heroku: ~$7/month
π Updates & CI/CD
Automatic Deployments
Push to GitHub and your platform automatically deploys:
GitHub Actions
β Automatic testing on PRs
β Code quality checks (ruff, mypy)
β Coverage reports
β Build verification
π Troubleshooting
Server Won't Start
Check platform logs for errors
Verify environment variables are set
Ensure
PORTis not hardcoded (use platform's PORT)
Oracle API Connection Failed
Verify
ORACLE_BASE_URLis correctCheck Oracle API is accessible from your platform
Test with health check endpoint
Claude Desktop Can't Connect
Verify SSE endpoint URL is correct
Ensure HTTPS is enabled
Check server is running (health check)
Restart Claude Desktop after config change
π€ Contributing
Fork the repository
Create a feature branch (
git checkout -b feature/amazing-feature)Make your changes
Run tests (
uv run pytest)Commit changes (
git commit -m 'Add amazing feature')Push to branch (
git push origin feature/amazing-feature)Open a Pull Request
π License
MIT License - see LICENSE file
π Acknowledgments
Built with Model Context Protocol
Powered by uv
π Support
π Deployment Guide
π Report Issues
π¬ Discussions
π Deploy once, share with everyone!
Made with β€οΈ for the MCP community