@execufunction/mcp-server 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +182 -0
- package/dist/exfClient.d.ts +565 -0
- package/dist/exfClient.d.ts.map +1 -0
- package/dist/exfClient.js +595 -0
- package/dist/exfClient.js.map +1 -0
- package/dist/gitService.d.ts +121 -0
- package/dist/gitService.d.ts.map +1 -0
- package/dist/gitService.js +451 -0
- package/dist/gitService.js.map +1 -0
- package/dist/incrementalIndexer.d.ts +42 -0
- package/dist/incrementalIndexer.d.ts.map +1 -0
- package/dist/incrementalIndexer.js +445 -0
- package/dist/incrementalIndexer.js.map +1 -0
- package/dist/index.d.ts +29 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1868 -0
- package/dist/index.js.map +1 -0
- package/dist/localIndexer.d.ts +33 -0
- package/dist/localIndexer.d.ts.map +1 -0
- package/dist/localIndexer.js +323 -0
- package/dist/localIndexer.js.map +1 -0
- package/package.json +53 -0
package/README.md
ADDED
|
@@ -0,0 +1,182 @@
|
|
|
1
|
+
# ExecuFunction MCP Server
|
|
2
|
+
|
|
3
|
+
A [Model Context Protocol](https://modelcontextprotocol.io/) server that exposes ExecuFunction tools to IDE clients like Cursor, Claude Desktop, and VS Code.
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
### 1. Create a Personal Access Token
|
|
8
|
+
|
|
9
|
+
1. Go to ExecuFunction → Settings → Developer → Access Tokens
|
|
10
|
+
2. Click "Create Token"
|
|
11
|
+
3. Name it (e.g., "Cursor MCP")
|
|
12
|
+
4. Select scopes: `mcp:*` (or specific scopes like `projects:read`, `tasks:write`)
|
|
13
|
+
5. **Save the token immediately** - it's only shown once!
|
|
14
|
+
|
|
15
|
+
### 2. Configure Your MCP Client
|
|
16
|
+
|
|
17
|
+
#### Claude Desktop
|
|
18
|
+
|
|
19
|
+
Edit `~/Library/Application Support/Claude/claude_desktop_config.json`:
|
|
20
|
+
|
|
21
|
+
```json
|
|
22
|
+
{
|
|
23
|
+
"mcpServers": {
|
|
24
|
+
"execufunction": {
|
|
25
|
+
"command": "npx",
|
|
26
|
+
"args": ["@execufunction/mcp-server"],
|
|
27
|
+
"env": {
|
|
28
|
+
"EXF_API_URL": "https://execufunction.com",
|
|
29
|
+
"EXF_PAT": "exf_pat_your_token_here"
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
#### Cursor
|
|
37
|
+
|
|
38
|
+
Add to your Cursor MCP settings:
|
|
39
|
+
|
|
40
|
+
```json
|
|
41
|
+
{
|
|
42
|
+
"execufunction": {
|
|
43
|
+
"command": "npx",
|
|
44
|
+
"args": ["@execufunction/mcp-server"],
|
|
45
|
+
"env": {
|
|
46
|
+
"EXF_API_URL": "https://execufunction.com",
|
|
47
|
+
"EXF_PAT": "exf_pat_your_token_here"
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
#### VS Code
|
|
54
|
+
|
|
55
|
+
Configure in your MCP extension settings.
|
|
56
|
+
|
|
57
|
+
### 3. Restart Your IDE
|
|
58
|
+
|
|
59
|
+
After configuration, restart your IDE to load the MCP server.
|
|
60
|
+
|
|
61
|
+
## Available Tools
|
|
62
|
+
|
|
63
|
+
### Projects
|
|
64
|
+
| Tool | Description |
|
|
65
|
+
|------|-------------|
|
|
66
|
+
| `project_list` | List all projects with status filtering |
|
|
67
|
+
| `project_get_context` | Get full project context (tasks, notes, signals) |
|
|
68
|
+
|
|
69
|
+
### Tasks
|
|
70
|
+
| Tool | Description |
|
|
71
|
+
|------|-------------|
|
|
72
|
+
| `task_list` | List tasks with project/status filters |
|
|
73
|
+
| `task_create` | Create a new task |
|
|
74
|
+
| `task_complete` | Mark a task as complete |
|
|
75
|
+
|
|
76
|
+
### Knowledge / Notes
|
|
77
|
+
| Tool | Description |
|
|
78
|
+
|------|-------------|
|
|
79
|
+
| `note_search` | Search knowledge base |
|
|
80
|
+
| `note_create` | Create a new note |
|
|
81
|
+
|
|
82
|
+
### People
|
|
83
|
+
| Tool | Description |
|
|
84
|
+
|------|-------------|
|
|
85
|
+
| `people_search` | Search contacts |
|
|
86
|
+
|
|
87
|
+
### Calendar
|
|
88
|
+
| Tool | Description |
|
|
89
|
+
|------|-------------|
|
|
90
|
+
| `calendar_list_events` | List calendar events for a date range |
|
|
91
|
+
| `calendar_create_event` | Create a new calendar event |
|
|
92
|
+
|
|
93
|
+
### Codebase Indexing
|
|
94
|
+
| Tool | Description |
|
|
95
|
+
|------|-------------|
|
|
96
|
+
| `codebase_list` | List indexed repositories |
|
|
97
|
+
| `codebase_register` | Register a new repository for indexing |
|
|
98
|
+
| `codebase_status` | Check indexing status and stats |
|
|
99
|
+
| `codebase_index` | Index/re-index a repository (reads local files) |
|
|
100
|
+
| `codebase_search` | Semantic search across indexed code |
|
|
101
|
+
|
|
102
|
+
### Code Memories
|
|
103
|
+
| Tool | Description |
|
|
104
|
+
|------|-------------|
|
|
105
|
+
| `code_memory_store` | Store a fact about the codebase |
|
|
106
|
+
| `code_memory_search` | Search stored code facts |
|
|
107
|
+
| `code_memory_list` | List all stored code memories |
|
|
108
|
+
| `code_memory_delete` | Delete a code memory |
|
|
109
|
+
|
|
110
|
+
## Resources
|
|
111
|
+
|
|
112
|
+
The server also exposes project context bundles as MCP resources:
|
|
113
|
+
|
|
114
|
+
- `exf://projects/{id}/context` - Full context bundle for a project
|
|
115
|
+
|
|
116
|
+
## Environment Variables
|
|
117
|
+
|
|
118
|
+
| Variable | Required | Description |
|
|
119
|
+
|----------|----------|-------------|
|
|
120
|
+
| `EXF_API_URL` | Yes | ExecuFunction API URL |
|
|
121
|
+
| `EXF_PAT` | Yes | Personal Access Token |
|
|
122
|
+
|
|
123
|
+
## Development
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
# Install dependencies
|
|
127
|
+
npm install
|
|
128
|
+
|
|
129
|
+
# Run in development mode
|
|
130
|
+
npm run dev
|
|
131
|
+
|
|
132
|
+
# Test with MCP Inspector
|
|
133
|
+
npm run inspect
|
|
134
|
+
|
|
135
|
+
# Build for production
|
|
136
|
+
npm run build
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
## Security
|
|
140
|
+
|
|
141
|
+
- PATs are stored as SHA-256 hashes - plaintext is never stored
|
|
142
|
+
- Tokens can be revoked at any time from ExecuFunction Settings
|
|
143
|
+
- Use minimal scopes for your use case
|
|
144
|
+
- Never commit tokens to version control
|
|
145
|
+
|
|
146
|
+
## Scopes
|
|
147
|
+
|
|
148
|
+
| Scope | Description |
|
|
149
|
+
|-------|-------------|
|
|
150
|
+
| `mcp:*` | All MCP operations (recommended for IDE use) |
|
|
151
|
+
| `projects:read` | Read project data |
|
|
152
|
+
| `projects:write` | Create/update projects |
|
|
153
|
+
| `tasks:read` | Read tasks |
|
|
154
|
+
| `tasks:write` | Create/update/complete tasks |
|
|
155
|
+
| `knowledge:read` | Search/read notes |
|
|
156
|
+
| `knowledge:write` | Create notes |
|
|
157
|
+
| `calendar:read` | View calendar/free slots |
|
|
158
|
+
| `calendar:write` | Create calendar events |
|
|
159
|
+
| `people:read` | Search/view contacts |
|
|
160
|
+
| `people:write` | Create/update contacts |
|
|
161
|
+
|
|
162
|
+
## Troubleshooting
|
|
163
|
+
|
|
164
|
+
### "EXF_API_URL environment variable is required"
|
|
165
|
+
|
|
166
|
+
Make sure you've configured the `env` section in your MCP client config.
|
|
167
|
+
|
|
168
|
+
### "Invalid token"
|
|
169
|
+
|
|
170
|
+
1. Check that your token starts with `exf_pat_`
|
|
171
|
+
2. Verify the token hasn't been revoked
|
|
172
|
+
3. Check the token hasn't expired
|
|
173
|
+
|
|
174
|
+
### Tools not appearing
|
|
175
|
+
|
|
176
|
+
1. Restart your IDE after configuration changes
|
|
177
|
+
2. Check IDE logs for MCP errors
|
|
178
|
+
3. Try running `npm run inspect` to test the server directly
|
|
179
|
+
|
|
180
|
+
## License
|
|
181
|
+
|
|
182
|
+
MIT
|