@fractary/core-mcp
v0.3.1
Published
MCP server for Fractary Core SDK - universal tool access for work, repo, spec, logs, file, docs
Downloads
331
Maintainers
Readme
@fractary/core-mcp
MCP (Model Context Protocol) server for Fractary Core SDK - provides universal tool access for work tracking, repository management, specifications, logs, file storage, and documentation across any MCP-compatible client.
Features
80 MCP Tools across 6 modules:
- Work Tracking (19 tools): Issues, comments, labels, milestones
- Repository Management (37 tools): Git operations, PRs, branches, tags, worktrees
- Specifications (5 tools): Create, validate, refine specs
- Logging (5 tools): Capture, search, archive logs
- File Storage (7 tools): Read, write, copy, move files
- Documentation (7 tools): Create, search, export docs
5.3x Performance: Direct SDK integration eliminates CLI subprocess overhead
Universal Compatibility: Works with Claude Code, LangChain, n8n, and any MCP client
Multi-Platform Support: GitHub, GitLab, Bitbucket, Jira, Linear
Installation
npm install -g @fractary/core-mcpConfiguration
Claude Code Integration
Add to your .claude/settings.json:
{
"mcpServers": {
"fractary-core": {
"command": "npx",
"args": ["-y", "@fractary/core-mcp"],
"env": {
"GITHUB_TOKEN": "${GITHUB_TOKEN}"
}
}
}
}Environment Variables
| Variable | Description | Required For |
|----------|-------------|--------------|
| GITHUB_TOKEN | GitHub personal access token | GitHub operations |
| JIRA_TOKEN | Jira API token | Jira operations |
| JIRA_BASE_URL | Jira instance URL | Jira operations |
| JIRA_PROJECT | Default Jira project key | Jira operations |
| LINEAR_API_KEY | Linear API key | Linear operations |
| GITLAB_TOKEN | GitLab personal access token | GitLab operations |
| BITBUCKET_TOKEN | Bitbucket app password | Bitbucket operations |
Configuration File
Create .fractary/config.yaml:
work:
provider: github
config:
owner: your-org
repo: your-repo
token: ${GITHUB_TOKEN}
repo:
provider: github
config:
owner: your-org
repo: your-repo
token: ${GITHUB_TOKEN}
spec:
directory: ./specs
logs:
directory: ./logs
file:
baseDirectory: ./data
docs:
directory: ./docsAvailable Tools
Work Module (19 tools)
fractary_work_issue_fetch- Fetch issue detailsfractary_work_issue_create- Create new issuefractary_work_issue_update- Update issuefractary_work_issue_assign- Assign issue to userfractary_work_issue_unassign- Remove assigneefractary_work_issue_close- Close issuefractary_work_issue_reopen- Reopen issuefractary_work_issue_search- Search issuesfractary_work_issue_classify- Classify work typefractary_work_comment_create- Add commentfractary_work_comment_list- List commentsfractary_work_label_add- Add labelsfractary_work_label_remove- Remove labelsfractary_work_label_set- Set labels (replace all)fractary_work_label_list- List labelsfractary_work_milestone_create- Create milestonefractary_work_milestone_list- List milestonesfractary_work_milestone_set- Set milestone on issuefractary_work_milestone_remove- Remove milestone
Repository Module (37 tools)
fractary_repo_status- Get repository statusfractary_repo_branch_current- Get current branchfractary_repo_is_dirty- Check for uncommitted changesfractary_repo_diff- Get difffractary_repo_branch_create- Create branchfractary_repo_branch_delete- Delete branchfractary_repo_branch_list- List branchesfractary_repo_branch_get- Get branch detailsfractary_repo_checkout- Checkout branchfractary_repo_branch_name_generate- Generate semantic branch namefractary_repo_stage- Stage filesfractary_repo_stage_all- Stage all changesfractary_repo_unstage- Unstage filesfractary_repo_commit- Create commitfractary_repo_commit_get- Get commit detailsfractary_repo_commit_list- List commitsfractary_repo_push- Push to remotefractary_repo_pull- Pull from remotefractary_repo_fetch- Fetch from remotefractary_repo_pr_create- Create pull requestfractary_repo_pr_get- Get PR detailsfractary_repo_pr_update- Update PRfractary_repo_pr_comment- Comment on PRfractary_repo_pr_review- Review PRfractary_repo_pr_request_review- Request reviewersfractary_repo_pr_approve- Approve PRfractary_repo_pr_merge- Merge PRfractary_repo_pr_list- List PRsfractary_repo_tag_create- Create tagfractary_repo_tag_delete- Delete tagfractary_repo_tag_push- Push tagfractary_repo_tag_list- List tagsfractary_repo_worktree_create- Create worktreefractary_repo_worktree_list- List worktreesfractary_repo_worktree_remove- Remove worktreefractary_repo_worktree_prune- Prune stale worktreesfractary_repo_worktree_cleanup- Cleanup worktrees
Spec Module (5 tools)
fractary_spec_create- Create specificationfractary_spec_read- Read spec contentfractary_spec_list- List specsfractary_spec_validate- Validate specfractary_spec_refine- Refine spec with feedback
Logs Module (5 tools)
fractary_logs_capture- Capture log entryfractary_logs_read- Read log entryfractary_logs_search- Search logsfractary_logs_list- List log entriesfractary_logs_archive- Archive logs
File Module (7 tools)
fractary_file_read- Read filefractary_file_write- Write filefractary_file_list- List filesfractary_file_delete- Delete filefractary_file_exists- Check file existsfractary_file_copy- Copy filefractary_file_move- Move file
Docs Module (7 tools)
fractary_docs_create- Create documentationfractary_docs_read- Read doc contentfractary_docs_update- Update documentationfractary_docs_delete- Delete documentationfractary_docs_list- List docsfractary_docs_search- Search docsfractary_docs_export- Export docs
Usage Example
With Claude Code
// Tools are automatically available in Claude Code
// Example: Fetch an issue
Tool: fractary_work_issue_fetch
Parameters: { "issue_number": "123" }
// Create a branch
Tool: fractary_repo_branch_create
Parameters: { "name": "feature/new-feature", "base_branch": "main" }
// Create a pull request
Tool: fractary_repo_pr_create
Parameters: {
"title": "Add new feature",
"body": "Description of changes"
}Programmatic Use
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
import { registerAllTools, registerAllHandlers } from '@fractary/core-mcp';
import { loadConfig } from '@fractary/core-mcp';
const config = await loadConfig();
const server = new Server(
{ name: 'fractary-core', version: '0.1.0' },
{ capabilities: { tools: {} } }
);
registerAllTools(server);
registerAllHandlers(server, config);
const transport = new StdioServerTransport();
await server.connect(transport);Performance
| Operation | CLI Time | MCP Time | Speedup | |-----------|----------|----------|---------| | Single issue fetch | 800ms | 150ms | 5.3x | | 10 operations | 8000ms | 1500ms | 5.3x | | Branch + commit + PR | 2400ms | 450ms | 5.3x |
Development
# Install dependencies
npm install
# Build
npm run build
# Run tests
npm test
# Watch mode
npm run dev
# Lint
npm run lint
# Type check
npm run typecheckLicense
MIT
Documentation
- MCP Server Documentation - Server setup and integration
- Configuration Guide - Configuration options
- Integration Guide - Integration patterns
- API Reference - Complete tool reference
Related Packages
- @fractary/core - Core SDK for JavaScript/TypeScript
- @fractary/core-cli - Command-line interface
