PerforceAthanor 0.7.1
dotnet tool install --global PerforceAthanor --version 0.7.1
dotnet new tool-manifest
dotnet tool install --local PerforceAthanor --version 0.7.1
#tool dotnet:?package=PerforceAthanor&version=0.7.1
nuke :add-package PerforceAthanor --version 0.7.1
perforce-athanor
A Model Context Protocol (MCP) server providing Perforce (Helix Core) integration for AI assistants. Enables file operations, changelist management, and depot queries.
Installation
perforce-athanor is distributed as a .NET tool via NuGet. This means:
- One command to install
- Automatic PATH setup
- Easy updates with
dotnet tool update - Works on Windows, macOS, and Linux
Global Tool (Recommended for Personal Use)
dotnet tool install --global PerforceAthanor
The tool is installed to ~/.dotnet/tools and added to your PATH. You can run it from anywhere:
perforce-athanor --help
Updating
dotnet tool update --global PerforceAthanor
Local Tool (Version-Pinned for Teams)
For team projects where everyone needs the same version:
cd YourProject
dotnet new tool-manifest # Creates .config/dotnet-tools.json
dotnet tool install PerforceAthanor # Installs and pins version
The manifest file (.config/dotnet-tools.json) should be committed to source control:
{
"version": 1,
"isRoot": true,
"tools": {
"perforceathanor": {
"version": "0.7.1",
"commands": ["perforce-athanor"]
}
}
}
Team members restore the pinned version after clone/pull:
dotnet tool restore
MCP Configuration
MCP servers are configured in JSON files. The location depends on your MCP client:
Claude Desktop
| Platform | Configuration File |
|---|---|
| macOS | ~/Library/Application Support/Claude/claude_desktop_config.json |
| Windows | %APPDATA%\Claude\claude_desktop_config.json |
Claude Code (CLI)
Use the claude mcp add command (recommended):
claude mcp add perforce-athanor --command perforce-athanor
Or manually edit the MCP configuration:
| Scope | Configuration File |
|---|---|
| Project | .mcp.json in project root |
| User | ~/.claude/mcp.json |
Configuration Examples
Global tool installation (simplest):
{
"mcpServers": {
"perforce-athanor": {
"command": "perforce-athanor"
}
}
}
Local tool installation (for version-pinned projects):
{
"mcpServers": {
"perforce-athanor": {
"command": "dotnet",
"args": ["tool", "run", "perforce-athanor"]
}
}
}
With explicit workspace path:
{
"mcpServers": {
"perforce-athanor": {
"command": "perforce-athanor",
"args": ["--workspace", "/path/to/p4/workspace"]
}
}
}
The server uses P4CONFIG files and environment variables if no workspace is specified.
How NuGet Distribution Works
Package Sources
NuGet packages can come from multiple sources:
| Source | URL | Use Case |
|---|---|---|
| NuGet.org | https://nuget.org | Public packages (production) |
| Local folder | C:\path\to\packages |
Development/testing |
| Private feed | Azure Artifacts, GitHub Packages | Enterprise/team packages |
Global vs Local Tools
| Aspect | Global Tool | Local Tool |
|---|---|---|
| Install location | ~/.dotnet/tools |
Project's .config/dotnet-tools.json |
| Scope | Machine-wide | Per-project |
| Version control | User manages updates | Project controls version |
| Install command | dotnet tool install --global |
dotnet tool install (in project) |
| Run command | perforce-athanor |
dotnet tool run perforce-athanor |
| Best for | Personal machines | Teams, CI/CD |
Version Management
# Check installed version
dotnet tool list --global
# Update to latest
dotnet tool update --global PerforceAthanor
# Install specific version
dotnet tool install --global PerforceAthanor --version 0.7.1
# Downgrade (uninstall first)
dotnet tool uninstall --global PerforceAthanor
dotnet tool install --global PerforceAthanor --version 1.0.0
Requirements
- .NET 8.0 SDK or later
- Perforce
p4CLI installed and in PATH
Troubleshooting
| Problem | Solution |
|---|---|
perforce-athanor not found |
Ensure ~/.dotnet/tools is in PATH, or restart terminal |
| P4 connection errors | Check P4PORT, P4USER, P4CLIENT environment variables |
| "p4 not found" | Ensure Perforce CLI is installed and in PATH |
| P4CONFIG not detected | Create .p4config in workspace root |
Development
# Clone and build
git clone https://github.com/stoicstudio/PerforceAthanor.Mcp
cd PerforceAthanor.Mcp
dotnet build
# Run tests
dotnet test
# Run directly from source
dotnet run --project src/PerforceAthanor/PerforceAthanor.csproj -- --workspace /path/to/p4/workspace
License
MIT
Links
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|