FreeAgent MCP 서버
FreeAgent 타임슬립 및 타이머를 관리하는 Claude MCP(Model Context Protocol) 서버입니다. 이 서버를 통해 Claude는 FreeAgent 계정과 상호 작용하여 시간을 추적하고, 타이머를 관리하고, 타임슬립 작업을 처리할 수 있습니다.
특징
중첩된 데이터가 있는 타임슬립 나열 및 필터링
새로운 타임슬립을 만드세요
기존 타임슬립 업데이트
타이머 시작 및 중지
타임슬립 삭제
자동 OAuth 토큰 새로 고침
포괄적인 오류 처리
도커 지원
Related MCP server: MCP Claude Code
필수 조건
Node.js 18+(Node.js 직접 사용용)
Docker 및 Docker Compose(컨테이너화된 사용용)
API 액세스가 가능한 FreeAgent 계정
FreeAgent 개발자 대시보드 의 OAuth 자격 증명
설치
옵션 1: Node.js 직접 설치
저장소를 복제합니다.
지엑스피1
종속성 설치:
npm installOAuth 토큰을 받으세요:
# Set your FreeAgent credentials
export FREEAGENT_CLIENT_ID="your_client_id"
export FREEAGENT_CLIENT_SECRET="your_client_secret"
# Run the OAuth setup script
node scripts/get-oauth-tokens.js옵션 2: Docker 설치
저장소를 복제합니다.
git clone https://github.com/yourusername/freeagent-mcp.git
cd freeagent-mcp환경 파일을 만듭니다.
cp .env.example .env
# Edit .env with your FreeAgent credentialsDocker 이미지 빌드:
docker build -t freeagent-mcp .구성
MCP 설정에 서버를 추가합니다(일반적으로 %APPDATA%/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json 에 있음):
Node.js 설치:
{
"mcpServers": {
"freeagent": {
"command": "node",
"args": ["path/to/freeagent-mcp/build/index.js"],
"env": {
"FREEAGENT_CLIENT_ID": "your_client_id",
"FREEAGENT_CLIENT_SECRET": "your_client_secret",
"FREEAGENT_ACCESS_TOKEN": "your_access_token",
"FREEAGENT_REFRESH_TOKEN": "your_refresh_token"
},
"disabled": false,
"autoApprove": []
}
}
}Docker 설치의 경우:
{
"mcpServers": {
"freeagent": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e", "FREEAGENT_CLIENT_ID",
"-e", "FREEAGENT_CLIENT_SECRET",
"-e", "FREEAGENT_ACCESS_TOKEN",
"-e", "FREEAGENT_REFRESH_TOKEN",
"freeagent-mcp"
],
"env": {
"FREEAGENT_CLIENT_ID": "your_client_id",
"FREEAGENT_CLIENT_SECRET": "your_client_secret",
"FREEAGENT_ACCESS_TOKEN": "your_access_token",
"FREEAGENT_REFRESH_TOKEN": "your_refresh_token"
},
"disabled": false,
"autoApprove": []
}
}
}용법
구성이 완료되면 Claude는 다음 도구를 사용할 수 있습니다.
타임슬립 목록
{
"from_date": "2024-01-01", // Start date (YYYY-MM-DD)
"to_date": "2024-03-04", // End date (YYYY-MM-DD)
"updated_since": "2024-03-04T12:00:00Z", // ISO datetime
"view": "all", // "all", "unbilled", or "running"
"user": "https://api.freeagent.com/v2/users/123",
"task": "https://api.freeagent.com/v2/tasks/456",
"project": "https://api.freeagent.com/v2/projects/789",
"nested": true // Include nested resources
}타임슬립 만들기
{
"task": "https://api.freeagent.com/v2/tasks/123",
"user": "https://api.freeagent.com/v2/users/456",
"project": "https://api.freeagent.com/v2/projects/789",
"dated_on": "2024-03-04",
"hours": "1.5",
"comment": "Optional comment"
}타이머 컨트롤
// Start timer
{
"id": "123"
}
// Stop timer
{
"id": "123"
}개발
Node.js 개발
# Build the project
npm run build
# Watch for changes
npm run watch
# Run tests (when implemented)
npm test도커 개발
# Build the Docker image
docker build -t freeagent-mcp .기여하다
저장소를 포크하세요
기능 브랜치를 생성합니다(
git checkout -b feature/amazing-feature)변경 사항을 커밋합니다(
git commit -am 'Add some amazing feature')브랜치에 푸시(
git push origin feature/amazing-feature)풀 리퀘스트 열기
특허
이 프로젝트는 MIT 라이선스에 따라 라이선스가 부여되었습니다. 자세한 내용은 라이선스 파일을 참조하세요.
감사의 말
뛰어난 API 문서를 제공하는 FreeAgent
MCP SDK를 위한 Claude 팀