loading…
Search for a command to run...
loading…
Provides secure, remote access to the Oracle Fusion Cloud Accounts Receivable REST API for managing financial data. It enables users to list, search, and retrie
Provides secure, remote access to the Oracle Fusion Cloud Accounts Receivable REST API for managing financial data. It enables users to list, search, and retrieve detailed invoice information through natural language commands without storing credentials.
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!
oracle_ar_list_invoices - List and filter invoicesoracle_ar_get_invoice_details - Get detailed invoice informationoracle_ar_search_invoices - Advanced search with statisticsORACLE_BASE_URL: https://fa-euth-dev46-saasfademo1.ds-fa.oraclepdemos.comYou'll get a URL like: https://oracle-ar-mcp-server-production.up.railway.app
render.yamlSee DEPLOYMENT.md for detailed instructions for:
Once deployed, anyone can connect using your server URL.
Add to claude_desktop_config.json:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"oracle-ar-remote": {
"url": "https://YOUR-APP-URL.railway.app/sse",
"transport": "sse"
}
}
}
# Health check
curl https://YOUR-APP-URL.railway.app/health
# Service info
curl https://YOUR-APP-URL.railway.app/
# Test SSE endpoint with MCP Inspector
npx @modelcontextprotocol/inspector --url https://YOUR-APP-URL.railway.app/sse
GET / - Service information and available toolsGET /health - Health check endpointGET /sse - SSE endpoint for MCP connectionsPOST /messages - MCP message endpointList invoices with optional filtering and pagination.
Parameters:
{
"username": "your-oracle-username",
"password": "your-oracle-password",
"customer_name": "Acme Corp",
"date_from": "2024-01-01",
"date_to": "2024-12-31",
"status": "Open",
"limit": 20,
"offset": 0
}
Get detailed information about a specific invoice.
Parameters:
{
"username": "your-oracle-username",
"password": "your-oracle-password",
"invoice_id": "123456"
}
Advanced search with filters and statistics.
Parameters:
{
"username": "your-oracle-username",
"password": "your-oracle-password",
"filters": {
"amountGreaterThan": 10000,
"overdueDays": 30
},
"limit": 20
}
# Clone the repository
git clone https://github.com/YOUR_USERNAME/oracle-ar-mcp-server.git
cd oracle-ar-mcp-server
# Install uv
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create virtual environment and install dependencies
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
uv pip install -e ".[dev]"
# Create environment file
cp .env.example .env
# Run the server
uv run python -m src.server
# Server will start on http://localhost:3000
# Run all tests
uv run pytest
# Run with coverage
uv run pytest --cov=src
# Run linting
uv run ruff check src tests
# Run type checking
uv run mypy src
.
├── src/
│ ├── server.py # MCP server with SSE transport
│ ├── tools.py # MCP tool implementations
│ ├── oracle_client.py # Oracle API client (async)
│ ├── formatter.py # Response formatters
│ ├── errors.py # Error handling
│ ├── models.py # Pydantic models
│ └── config.py # Configuration
├── tests/ # Test suite
├── .github/workflows/ # CI/CD pipelines
├── DEPLOYMENT.md # Deployment guide
├── pyproject.toml # Project configuration
└── README.md # This file
After deploying, share your server with others:
https://your-app.railway.app/sse
Users add this to their Claude Desktop config:
{
"mcpServers": {
"oracle-ar": {
"url": "https://your-app.railway.app/sse",
"transport": "sse"
}
}
}
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.
# Test health check
curl https://your-app.railway.app/health
# View available tools
curl https://your-app.railway.app/
# Test with MCP Inspector
npx @modelcontextprotocol/inspector --url https://your-app.railway.app/sse
# Run test suite
uv run pytest
# Run with coverage
uv run pytest --cov=src --cov-report=html
# View coverage report
open htmlcov/index.html
curl https://your-app.railway.app/health
Response:
{
"status": "healthy",
"service": "oracle-fusion-ar-mcp-server",
"version": "1.0.0"
}
heroku logs --tailPush to GitHub and your platform automatically deploys:
git add .
git commit -m "Add new feature"
git push origin main
PORT is not hardcoded (use platform's PORT)ORACLE_BASE_URL is correctgit checkout -b feature/amazing-feature)uv run pytest)git commit -m 'Add amazing feature')git push origin feature/amazing-feature)MIT License - see LICENSE file
🚀 Deploy once, share with everyone!
Made with ❤️ for the MCP community
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"oracle-fusion-ar-mcp-server": {
"command": "npx",
"args": []
}
}
}