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, skillsproductivity— 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 |
Metadata
Release files for allye-mcp 1.9.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| allye_mcp-1.9.0.tar.gz | 102.5 kB | Without provenance | Details for allye_mcp-1.9.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| allye_mcp-1.9.0-py3-none-any.whl | Python 3 | none | any | Details for allye_mcp-1.9.0-py3-none-any.whl |
Total release size: 234.0 kB
Release files / allye_mcp-1.9.0.tar.gz
| Download URL | allye_mcp-1.9.0.tar.gz |
|---|---|
| Size | 102.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a2f941225a227e40a3e20afc964474ccce7c811c701de8db31494bed21a65a9e
|
|
BLAKE2b-256 checksum How to use checksums |
7a21f8b01415be590551e1b7088ca6ce03ef977835a6e527029770649dbcd806
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|
Release files / allye_mcp-1.9.0-py3-none-any.whl
| Download URL | allye_mcp-1.9.0-py3-none-any.whl |
|---|---|
| Size | 131.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
2da2a302a9679be6ddf95d91530d58e750c68bb3fb6baade0638178132aab75e
|
|
BLAKE2b-256 checksum How to use checksums |
44dfe7f94c206d8cdfafec757ccb9d59203f8037ee391a03129ee980ef2896f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.11.16
|
Security for allye-mcp 1.9.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.