Fênix Cloud MCP server implemented in Python
Project description
Allye MCP Server
Python MCP server for Allye Cloud API integration
Quick Start • Installation • Configuration • Structure • Testing
Overview
Allye MCP connects MCP-compatible clients (Claude Code, Cursor, Windsurf, VS Code, etc.) directly to the Allye Cloud APIs. Every tool invocation hits the live backend—no outdated snapshots or hallucinated IDs.
Available Tools:
knowledge— Documentation CRUD, work items, modes, rulesproductivity— TODO managementintelligence— Memories and smart operationsuser_config— User configuration documentsinitialize— Personalized setuphealth— Backend health check
Quick Start
pipx install allye-mcp # Install
allye-mcp --pat <your-token> # Run (STDIO mode)
Requirements
| Requirement | Version |
|---|---|
| Python | 3.10+ |
| Allye PAT Token | Required |
| MCP Client | Claude Code, Cursor, Windsurf, VS Code, etc. |
Installation
With pipx (recommended)
pipx install allye-mcp
With pip
pip install --user allye-mcp
Upgrade
pipx upgrade allye-mcp
# or
pip install --upgrade allye-mcp
Configuration
MCP Client Setup
Claude Code — ~/.claude/config.toml
[mcp_servers.allye]
command = "allye-mcp"
args = ["--pat", "your-token"]
Cursor — ~/.cursor/mcp.json
{
"mcpServers": {
"allye": {
"command": "allye-mcp",
"args": ["--pat", "your-token"],
"disabled": false
}
}
}
VS Code / Windsurf — settings.json
{
"modelContextProtocol.mcpServers": {
"allye": {
"command": "allye-mcp",
"args": ["--pat", "your-token"]
}
}
}
Environment Variables
| Variable | Description | Default |
|---|---|---|
ALLYE_API_URL |
Allye Cloud API base URL | https://allye-api.devshire.app |
ALLYE_PAT_TOKEN |
Token (alternative to --pat) |
empty |
ALLYE_TRANSPORT_MODE |
stdio, http, or both |
stdio |
ALLYE_HTTP_HOST |
HTTP transport host | 127.0.0.1 |
ALLYE_HTTP_PORT |
HTTP transport port | 5003 |
ALLYE_LOG_LEVEL |
Log level (DEBUG, INFO, etc.) |
INFO |
See .env.example for reference.
HTTP Transport
export ALLYE_TRANSPORT_MODE=http
export ALLYE_HTTP_PORT=5003
allye-mcp --pat <your-token>
JSON-RPC endpoint: http://127.0.0.1:5003/jsonrpc
Run both STDIO and HTTP:
export ALLYE_TRANSPORT_MODE=both
allye-mcp --pat <your-token>
Project Structure
allye-mcp-py/
├── allye_mcp/ # Main package
│ ├── main.py # Entry point (CLI)
│ ├── application/ # Use cases and services
│ ├── domain/ # Business entities
│ ├── infrastructure/ # External integrations (API, transport)
│ └── interface/ # MCP protocol handlers
├── tests/ # Test suite
├── docs/ # Documentation
├── pyproject.toml # Project configuration
└── .env.example # Environment template
allye_mcp/ — Package Structure
| Directory | Responsibility |
|---|---|
main.py |
CLI entry point, argument parsing, server bootstrap |
application/ |
Use cases, handlers for each MCP tool |
domain/ |
Business entities, DTOs, validation |
infrastructure/ |
API client, HTTP transport, logging |
interface/ |
MCP protocol implementation, tool registration |
Architecture
MCP Client → interface/ → application/ → infrastructure/ → Allye API
↓
domain/
(entities)
Tech Stack
| Layer | Technology |
|---|---|
| Runtime | Python 3.10+ |
| Validation | Pydantic 2 |
| HTTP | aiohttp, requests |
| Config | pydantic-settings |
| Testing | pytest, pytest-asyncio |
| Linting | flake8, black, mypy |
Development
Setup
# Clone and install
git clone <repo>
cd allye-mcp-py
pip install -e .[dev]
Scripts
| Command | Description |
|---|---|
pytest |
Run tests |
pytest --cov=allye_mcp |
Run with coverage |
black allye_mcp/ tests/ |
Format code |
flake8 allye_mcp/ tests/ |
Lint |
mypy allye_mcp/ |
Type check |
Commit Convention
Follow Conventional Commits:
| Prefix | Description | Version Bump |
|---|---|---|
fix: |
Bug fixes | Patch |
feat: |
New features | Minor |
BREAKING CHANGE: |
Breaking changes | Major |
chore: |
Maintenance | None |
docs: |
Documentation | None |
CI/CD
| Platform | Usage |
|---|---|
| GitHub Actions | Tests, lint, build on push/PR to main |
| Semantic Release | Auto-version based on commits |
| PyPI | Package distribution |
Troubleshooting
command not found: allye-mcp
Add scripts directory to PATH:
# macOS/Linux
export PATH="$PATH:~/.local/bin"
# Windows
# Add %APPDATA%\Python\Python311\Scripts to PATH
401 Unauthorized
- Check
--patorALLYE_PAT_TOKENis set correctly - Regenerate token in Allye Cloud if expired
Run HTTP and STDIO simultaneously
export ALLYE_TRANSPORT_MODE=both
allye-mcp --pat <your-token>
Security
- Store tokens securely (keychain,
pass,.env) - Never commit secrets to git
- Revoke tokens when no longer needed
- Use
pipxto isolate from global Python
Useful Links
| Resource | URL |
|---|---|
| PyPI | https://pypi.org/project/allye-mcp/ |
| Allye Cloud | https://allye.devshire.app |
| MCP Protocol | https://modelcontextprotocol.io |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file allye_mcp-1.3.0.tar.gz.
File metadata
- Download URL: allye_mcp-1.3.0.tar.gz
- Upload date:
- Size: 74.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
87e6a819a6d446cf58bc9ba09a3215daf123c46c3aac0124a415685e05624076
|
|
| MD5 |
58d904d1e54a60408716a87b07d5c16a
|
|
| BLAKE2b-256 |
9032a0d68d86248112a6491b3688b7bcdc9049695c82c1d871c77760bed74c85
|
File details
Details for the file allye_mcp-1.3.0-py3-none-any.whl.
File metadata
- Download URL: allye_mcp-1.3.0-py3-none-any.whl
- Upload date:
- Size: 105.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b797f19e159c4b89cc6363fa21897e95958b45523de518db4ad2fb100cbd068
|
|
| MD5 |
75083e749ab639ac7c613fd61f2bdeea
|
|
| BLAKE2b-256 |
4119cf3cc255d2f63e7088f355d12170aa442500c84d2628e82cf569cd3cc949
|