mcp-twake-ai 0.1.0 → 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 +140 -57
- package/build/catalog.js +17 -3
- package/build/catalog.js.map +1 -1
- package/build/cozy.js +1 -1
- package/build/cozy.js.map +1 -1
- package/package.json +6 -2
package/README.md
CHANGED
|
@@ -1,103 +1,161 @@
|
|
|
1
1
|
# mcp-twake-ai
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/mcp-twake-ai)
|
|
4
|
+
[](https://github.com/linagora/mcp-twake-ai/actions/workflows/ci.yml)
|
|
5
|
+
[](LICENSE)
|
|
6
|
+
[](https://nodejs.org/)
|
|
4
7
|
|
|
5
|
-
|
|
8
|
+
<p align="center">
|
|
9
|
+
<img src="assets/banner.png" alt="MCP Twake.ai: sets up the MCP servers of the Twake.ai platform in your AI agents" width="660">
|
|
10
|
+
</p>
|
|
6
11
|
|
|
7
|
-
|
|
12
|
+
**One command connects your AI agent to [Twake.ai](https://twake.ai): Mail, Calendar, Drive, Chat, Space and Project, with a single sign-in.**
|
|
13
|
+
|
|
14
|
+
```bash
|
|
15
|
+
npx mcp-twake-ai setup
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
## What is it?
|
|
19
|
+
|
|
20
|
+
`mcp-twake-ai` sets up the six Twake.ai [Model Context Protocol](https://modelcontextprotocol.io) (MCP) servers in your AI agents (Claude Code, Hermes, Claude Desktop, Cursor and VS Code), and gives any other agent a ready-made configuration.
|
|
21
|
+
|
|
22
|
+
You type your email address and sign in once at your Twake.ai identity provider. `mcp-twake-ai` finds your services, writes them into the agents you choose, then stays behind as their token broker: the refresh token sits in your operating system's keychain, and each MCP server gets a fresh access token whenever it needs one. No password or token is written into an agent's configuration.
|
|
23
|
+
|
|
24
|
+
## Part of Twake.ai
|
|
25
|
+
|
|
26
|
+
[Twake.ai](https://twake.ai) is the truly open source and sovereign Digital Workplace developed by [LINAGORA](https://linagora.com): Twake Mail, Twake Calendar, Twake Drive, Twake Chat, Twake Space and Twake Visio with a single account, hosted in France or on your own infrastructure.
|
|
27
|
+
|
|
28
|
+
`mcp-twake-ai` installs and connects its six open source MCP servers:
|
|
29
|
+
|
|
30
|
+
| MCP server | Twake.ai service | Protocol |
|
|
31
|
+
| ------------------------------------------------------------------ | --------------------------------------- | ----------------- |
|
|
32
|
+
| [mcp-twake-mail](https://github.com/linagora/mcp-twake-mail) | Twake Mail | JMAP |
|
|
33
|
+
| [mcp-twake-dav](https://github.com/linagora/mcp-twake-dav) | Twake Calendar and contacts | CalDAV / CardDAV |
|
|
34
|
+
| [mcp-twake-drive](https://github.com/linagora/mcp-twake-drive) | Twake Drive | cozy-stack API |
|
|
35
|
+
| [mcp-twake-chat](https://github.com/linagora/mcp-twake-chat) | Twake Chat | Matrix |
|
|
36
|
+
| [mcp-twake-space](https://github.com/linagora/mcp-twake-space) | Twake Space (team spaces) | Twake Space API |
|
|
37
|
+
| [mcp-twake-project](https://github.com/linagora/mcp-twake-project) | Twake Project (projects, boards, tasks) | Twake Project API |
|
|
8
38
|
|
|
9
39
|
## Requirements
|
|
10
40
|
|
|
11
41
|
- **Node.js** >= 22.13
|
|
12
42
|
- An account on the Twake.ai SaaS
|
|
13
|
-
-
|
|
43
|
+
- One of the agents above, or any MCP client for `export`
|
|
44
|
+
|
|
45
|
+
Your identity provider needs the public OIDC client `twake-ai-agents` (PKCE, `offline_access`, loopback redirect URIs `http://127.0.0.1:8765/callback` to `:8767`, device flow, and the audiences of the Twake.ai backends). It exists on the Twake.ai SaaS; another client can be used with `--client-id` or `TWAKE_AI_OIDC_CLIENT_ID`.
|
|
14
46
|
|
|
15
47
|
## Start here
|
|
16
48
|
|
|
49
|
+
Run it in a terminal, from any folder:
|
|
50
|
+
|
|
17
51
|
```bash
|
|
18
52
|
npx mcp-twake-ai setup
|
|
19
53
|
```
|
|
20
54
|
|
|
21
|
-
|
|
55
|
+
The guided setup asks a few questions and changes nothing before you confirm. It speaks English (`TWAKE_AI_LANGUAGE=fr` switches it to French), and pressing Escape at any question leaves everything as it was.
|
|
22
56
|
|
|
23
|
-
|
|
57
|
+
**1. Your Twake.ai email address.** It is enough to find your services.
|
|
24
58
|
|
|
25
|
-
|
|
59
|
+
<img src="assets/setup-1-email.png" alt="The banner of mcp-twake-ai setup, then the question: your Twake.ai email address" width="760">
|
|
26
60
|
|
|
27
|
-
|
|
28
|
-
npm install -g mcp-twake-ai
|
|
29
|
-
mcp-twake-ai login --email jane.doe@example.com
|
|
30
|
-
```
|
|
61
|
+
**2. Sign in once.** Your browser opens on your Twake.ai sign-in page. Over SSH, without a display or with `--no-browser`, the terminal shows a code to enter from your phone or another computer instead:
|
|
31
62
|
|
|
32
|
-
|
|
63
|
+
<img src="assets/setup-2-code.png" alt="The services found for jdoe@example.com, then the address to open and the code WDJB-MJHT" width="760">
|
|
33
64
|
|
|
34
|
-
|
|
65
|
+
<img src="assets/setup-3-sso.png" alt="The Device Authorization page of the identity provider, with the code WDJBMJHT ready to authorize" width="620">
|
|
35
66
|
|
|
36
|
-
|
|
67
|
+
**3. Choose the agents and the services.** The agents found on this computer, and the services of your account, are ticked in advance.
|
|
37
68
|
|
|
38
|
-
|
|
69
|
+
<img src="assets/setup-4-choose.png" alt="Claude Code and Cursor chosen; Mail, Calendar, Space and Project ticked among the services" width="760">
|
|
39
70
|
|
|
40
|
-
|
|
41
|
-
claude mcp add twake-project --scope user \
|
|
42
|
-
-e TWAKE_PROJECT_URL=https://projects.example.com \
|
|
43
|
-
-e "TWAKE_PROJECT_TOKEN_COMMAND=$(command -v mcp-twake-ai) token project" \
|
|
44
|
-
-e TWAKE_PROJECT_OIDC_ISSUER=https://sso.example.com/ \
|
|
45
|
-
-- npx -y mcp-twake-project
|
|
46
|
-
```
|
|
71
|
+
**4. Check the plan, and confirm.** Each agent gets one entry per service: `twake-mail`, `twake-dav`…
|
|
47
72
|
|
|
48
|
-
|
|
73
|
+
<img src="assets/setup-5-plan.png" alt="The plan: four twake entries to add in Claude Code and in Cursor, then Apply this plan? Yes" width="760">
|
|
49
74
|
|
|
50
|
-
|
|
75
|
+
**5. Done.** The servers are installed, written into your agents, and each one is started once to check it answers.
|
|
51
76
|
|
|
52
|
-
|
|
77
|
+
<img src="assets/setup-6-done.png" alt="The servers installed and written, each server checked, and what to do to finish in each agent" width="760">
|
|
53
78
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
79
|
+
Under `npx`, `mcp-twake-ai` copies itself into its private folder, so that your agents never depend on npx's cache, and puts a `mcp-twake-ai` command in `~/.local/bin` (`%LOCALAPPDATA%\twake-ai\bin` on Windows).
|
|
80
|
+
|
|
81
|
+
## Use it from Claude Code
|
|
82
|
+
|
|
83
|
+
Start a new `claude` session: `/mcp` lists the `twake-*` servers. Then ask in plain words. Reads happen at once; every write is shown to you for approval first (illustrative, abridged session):
|
|
84
|
+
|
|
85
|
+
```text
|
|
86
|
+
> What's on my calendar tomorrow? Draft a reply to Pierre's last email with my free slots.
|
|
87
|
+
|
|
88
|
+
⏺ twake-dav - get_events_in_range (MCP)(when: "tomorrow")
|
|
89
|
+
⎿ 3 events: 09:30 Team stand-up · 11:00 Budget review · 15:00 Call with Acme
|
|
90
|
+
|
|
91
|
+
⏺ twake-mail - search_emails (MCP)(from: "pierre", limit: 1)
|
|
92
|
+
⎿ "Workshop next week?" from Pierre Martin, yesterday at 17:42
|
|
93
|
+
|
|
94
|
+
⏺ twake-mail - create_draft (MCP)(to: ["pierre.martin@example.com"], subject: "Re: Workshop next week?", …)
|
|
95
|
+
|
|
96
|
+
╭─ twake-mail asks for your approval ────────────────╮
|
|
97
|
+
│ Create a draft │
|
|
98
|
+
│ to: pierre.martin@example.com │
|
|
99
|
+
│ subject: Re: Workshop next week? │
|
|
100
|
+
│ │
|
|
101
|
+
│ ❯ Accept Decline │
|
|
102
|
+
╰────────────────────────────────────────────────────╯
|
|
103
|
+
⎿ Draft saved
|
|
104
|
+
|
|
105
|
+
⏺ Tomorrow you have the stand-up at 9:30, the budget review at 11:00 and the
|
|
106
|
+
Acme call at 15:00. You are free from 13:00 to 15:00 and after 16:00: the
|
|
107
|
+
reply to Pierre proposing these slots is in your Drafts, ready to send.
|
|
57
108
|
```
|
|
58
109
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
-
|
|
110
|
+
More to try:
|
|
111
|
+
|
|
112
|
+
- "Summarize my unread emails from today."
|
|
113
|
+
- "Find the latest version of the budget file in my Drive."
|
|
114
|
+
- "Which tasks are due this week in the Website project?"
|
|
115
|
+
- "Post the meeting notes in the #team room."
|
|
62
116
|
|
|
63
|
-
##
|
|
117
|
+
## Commands
|
|
118
|
+
|
|
119
|
+
### Setup without questions
|
|
64
120
|
|
|
65
121
|
```sh
|
|
122
|
+
mcp-twake-ai setup --email jane.doe@example.com --agents detected # signs in, shows what would change
|
|
66
123
|
mcp-twake-ai setup --agents detected # shows what would change, writes nothing
|
|
67
124
|
mcp-twake-ai setup --agents claude-code,hermes --yes # writes it
|
|
68
125
|
mcp-twake-ai setup --agents cursor --services mail,dav --yes
|
|
69
126
|
```
|
|
70
127
|
|
|
71
|
-
|
|
128
|
+
With `--email`, `setup` first signs in to that account if it is not the current one. With `--yes`, it connects Twake Drive and gives each agent its own Twake Chat device when those services are chosen, installs the pinned servers, then writes the agents.
|
|
72
129
|
|
|
73
|
-
| Agent (`--agents`)
|
|
74
|
-
|
|
75
|
-
| Claude Code (`claude-code`)
|
|
76
|
-
| Hermes (`hermes`)
|
|
77
|
-
| Claude Desktop (`claude-desktop`) | `claude_desktop_config.json`
|
|
78
|
-
| Cursor (`cursor`)
|
|
79
|
-
| VS Code (`vscode`)
|
|
130
|
+
| Agent (`--agents`) | Where | Approval of writes |
|
|
131
|
+
| --------------------------------- | ------------------------------------------------------------------------------------------------------- | --------------------------------------------- |
|
|
132
|
+
| Claude Code (`claude-code`) | `claude mcp add --scope user` | in Claude Code |
|
|
133
|
+
| Hermes (`hermes`) | `config.yaml` in `$HERMES_HOME`, `~/.hermes` (`%LOCALAPPDATA%\hermes` on Windows) or its active profile | in Hermes |
|
|
134
|
+
| Claude Desktop (`claude-desktop`) | `claude_desktop_config.json` | not supported: reads work, writes are refused |
|
|
135
|
+
| Cursor (`cursor`) | `~/.cursor/mcp.json` | in Cursor |
|
|
136
|
+
| VS Code (`vscode`) | `Code/User/mcp.json` of the default profile | in VS Code |
|
|
80
137
|
|
|
81
138
|
- It only changes the entries it wrote. An entry with the same name configured by hand, or changed since, is left alone unless you add `--force`.
|
|
82
139
|
- A file is copied to `<file>.bak-<date>` before it changes. Comments and other settings are kept.
|
|
83
140
|
- An agent whose write fails is put back as it was; the others are still written.
|
|
84
141
|
- Running it again changes nothing. With fewer `--services`, it removes the entries you left out.
|
|
142
|
+
- It exits with 1 when something you asked for was not done (an agent not installed, an entry left alone).
|
|
85
143
|
|
|
86
|
-
|
|
144
|
+
### Check, sign out, uninstall
|
|
87
145
|
|
|
88
146
|
```sh
|
|
89
|
-
mcp-twake-ai status
|
|
90
|
-
mcp-twake-ai status --no-start
|
|
147
|
+
mcp-twake-ai status # session, Drive, every entry, and each server started once
|
|
148
|
+
mcp-twake-ai status --no-start # the same without starting the servers
|
|
91
149
|
mcp-twake-ai status --env mail --agent cursor # the environment run builds for a server
|
|
92
|
-
mcp-twake-ai logout
|
|
93
|
-
mcp-twake-ai uninstall
|
|
150
|
+
mcp-twake-ai logout # revokes every authorization and forgets the secrets
|
|
151
|
+
mcp-twake-ai uninstall # shows what it would remove; add --yes to do it
|
|
94
152
|
```
|
|
95
153
|
|
|
96
|
-
- `status` checks the Twake session
|
|
97
|
-
- `logout` revokes the session at the identity provider, removes "Twake AI" from the Drive connected devices, signs every Chat device out, then deletes the secrets and the cached tokens.
|
|
154
|
+
- `status` checks the Twake session, Twake Drive, each agent's Chat device, that every entry is the one mcp-twake-ai wrote, and that each server answers through its entry. It exits with 1 when something is wrong, and says what.
|
|
155
|
+
- `logout` revokes the session at the identity provider, removes "Twake AI" from the Drive connected devices, signs every Chat device out, then deletes the secrets and the cached tokens.
|
|
98
156
|
- `uninstall --yes` removes the entries it wrote (`--force` for those changed by hand), signs out, and deletes the servers, the configuration, the cache and the journal. The Twake Chat stores hold the local index of your messages: they are kept unless you add `--delete-chat-stores`.
|
|
99
157
|
|
|
100
|
-
|
|
158
|
+
### Any other agent: `export`
|
|
101
159
|
|
|
102
160
|
```bash
|
|
103
161
|
mcp-twake-ai export --agent zed # every service found and connected
|
|
@@ -105,22 +163,37 @@ mcp-twake-ai export --agent cursor --services mail,chat --out ./cursor-config
|
|
|
105
163
|
mcp-twake-ai export --agent zed --raw # the servers and their full environment
|
|
106
164
|
```
|
|
107
165
|
|
|
108
|
-
`export` installs the pinned
|
|
166
|
+
`export` installs the pinned servers into mcp-twake-ai's private folder and writes `mcpServers.json` (Claude Desktop, Cursor, Windsurf, Cline, Gemini CLI…), `vscode-mcp.json`, `hermes.yaml`, `codex.toml`, `claude-code.sh` and one `<service>.env` per service, with a README saying where each goes. No file holds a secret.
|
|
167
|
+
|
|
168
|
+
### Tokens for your own MCP configuration
|
|
169
|
+
|
|
170
|
+
`setup` and `export` write everything for you. To configure a Twake.ai MCP server by hand, install `mcp-twake-ai` for good (`npm install -g mcp-twake-ai`), sign in, and give the server its token command, with the absolute path of `mcp-twake-ai` (some agents, such as Claude Desktop started from the Finder, do not see your `PATH`):
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
mcp-twake-ai login --email jane.doe@example.com
|
|
174
|
+
claude mcp add twake-project --scope user \
|
|
175
|
+
-e TWAKE_PROJECT_URL=https://projects.example.com \
|
|
176
|
+
-e "TWAKE_PROJECT_TOKEN_COMMAND=$(command -v mcp-twake-ai) token project" \
|
|
177
|
+
-e TWAKE_PROJECT_OIDC_ISSUER=https://sso.example.com/ \
|
|
178
|
+
-- npx -y mcp-twake-project
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
`mcp-twake-ai token <mail|dav|space|project>` prints `{"access_token": "...", "expires_at": <epoch s>}`. It serves the cached token while it is valid for more than 60 seconds, and otherwise renews it under a lock shared by every process, so several servers in several agents never spend the same refresh token twice. When the session has expired, it says to run `mcp-twake-ai login`.
|
|
109
182
|
|
|
110
183
|
## Files
|
|
111
184
|
|
|
112
|
-
| What
|
|
113
|
-
|
|
114
|
-
| Configuration (no secret)
|
|
115
|
-
| Refresh token
|
|
116
|
-
| Cached access tokens
|
|
117
|
-
| Journal (steps and errors, secrets masked) | `~/.local/state/twake-ai/twake-ai.log`
|
|
185
|
+
| What | Where (Linux, macOS) |
|
|
186
|
+
| ------------------------------------------ | ----------------------------------------------------------------------------------------- |
|
|
187
|
+
| Configuration (no secret) | `~/.config/twake-ai/config.json` |
|
|
188
|
+
| Refresh token | the OS keychain, service `twake-ai`; otherwise `~/.config/twake-ai/secrets.json` (`0600`) |
|
|
189
|
+
| Cached access tokens | `~/.cache/twake-ai/tokens/` (`0600`) |
|
|
190
|
+
| Journal (steps and errors, secrets masked) | `~/.local/state/twake-ai/twake-ai.log` |
|
|
118
191
|
|
|
119
192
|
On Windows: `%APPDATA%\twake-ai` and `%LOCALAPPDATA%\twake-ai`. `TWAKE_AI_HOME` groups everything under one directory.
|
|
120
193
|
|
|
121
|
-
##
|
|
194
|
+
## Security
|
|
122
195
|
|
|
123
|
-
|
|
196
|
+
Sign-in with PKCE, the session in the OS keychain, no secret in your agents' files, tokens sent only to HTTPS servers of your own domain, and every write approved by you. [SECURITY.md](SECURITY.md) details the security model and how to report a vulnerability privately.
|
|
124
197
|
|
|
125
198
|
## Development
|
|
126
199
|
|
|
@@ -131,8 +204,18 @@ npm run typecheck
|
|
|
131
204
|
npm run build # then: node build/bin.js
|
|
132
205
|
```
|
|
133
206
|
|
|
207
|
+
`LIVE_EMAIL=jane.doe@example.com node scripts/live.mjs` signs in to a real account in a temporary folder, checks each backend and lists the calendars through the calendar's MCP server, then signs out and makes sure the session is revoked. [`docs/manual-checklist.md`](docs/manual-checklist.md) is the checklist to run in each agent.
|
|
208
|
+
|
|
209
|
+
## Contributing
|
|
210
|
+
|
|
211
|
+
Contributions are welcome: read [CONTRIBUTING.md](CONTRIBUTING.md) and our [Code of Conduct](CODE_OF_CONDUCT.md). Please report vulnerabilities privately as described in [SECURITY.md](SECURITY.md). Release notes are in [CHANGELOG.md](CHANGELOG.md).
|
|
212
|
+
|
|
134
213
|
## License
|
|
135
214
|
|
|
136
215
|
Licensed under the **GNU Affero General Public License v3.0** ([AGPL-3.0](LICENSE)).
|
|
137
216
|
|
|
138
217
|
Copyright © 2026 [LINAGORA](https://linagora.com)
|
|
218
|
+
|
|
219
|
+
## About
|
|
220
|
+
|
|
221
|
+
`mcp-twake-ai` is developed by [LINAGORA](https://linagora.com), French open source software publisher, as part of [Twake.ai](https://twake.ai). For support, hosting or integration of Twake.ai and its AI connectors, contact LINAGORA at <https://linagora.com>.
|
package/build/catalog.js
CHANGED
|
@@ -6,7 +6,7 @@ import { checkAgentId, isSafeDeviceId } from './grants.js';
|
|
|
6
6
|
* These versions run *_TOKEN_COMMAND through the system shell, so they work on Windows too.
|
|
7
7
|
*/
|
|
8
8
|
export const CATALOG = {
|
|
9
|
-
mail: { name: 'mcp-twake-mail', version: '4.
|
|
9
|
+
mail: { name: 'mcp-twake-mail', version: '4.2.0', approval: 'JMAP' },
|
|
10
10
|
dav: { name: 'mcp-twake-dav', version: '4.2.1', approval: 'DAV' },
|
|
11
11
|
drive: { name: 'mcp-twake-drive', version: '0.4.1', approval: 'TWAKE_DRIVE' },
|
|
12
12
|
chat: { name: 'mcp-twake-chat', version: '0.6.1', approval: 'MATRIX' },
|
|
@@ -46,6 +46,11 @@ export function detectLanguage(env, locale = Intl.DateTimeFormat().resolvedOptio
|
|
|
46
46
|
export function systemTimezone() {
|
|
47
47
|
return Intl.DateTimeFormat().resolvedOptions().timeZone || 'UTC';
|
|
48
48
|
}
|
|
49
|
+
/**
|
|
50
|
+
* The one folder where Mail saves attachments, and where Drive and Chat download files and take the ones they upload:
|
|
51
|
+
* an attachment kept by Mail can go to the Drive or a room without passing through the model. `~` is the home folder.
|
|
52
|
+
*/
|
|
53
|
+
export const FILES_FOLDER = '~/Downloads/Twake';
|
|
49
54
|
/** The environment of one MCP server for one agent: URLs, token command, language, time zone, agent-specific settings. */
|
|
50
55
|
export function serviceEnv(service, agent, ctx) {
|
|
51
56
|
checkAgentId(agent);
|
|
@@ -60,7 +65,13 @@ export function serviceEnv(service, agent, ctx) {
|
|
|
60
65
|
const url = env.services.mail?.url;
|
|
61
66
|
if (!url)
|
|
62
67
|
throw notFound('Twake Mail (JMAP) server');
|
|
63
|
-
return {
|
|
68
|
+
return {
|
|
69
|
+
JMAP_SESSION_URL: url,
|
|
70
|
+
JMAP_AUTH_METHOD: 'command',
|
|
71
|
+
JMAP_TOKEN_COMMAND: tokenCommand('mail', undefined, ctx),
|
|
72
|
+
JMAP_DOWNLOAD_DIR: FILES_FOLDER,
|
|
73
|
+
...common,
|
|
74
|
+
};
|
|
64
75
|
}
|
|
65
76
|
case 'dav': {
|
|
66
77
|
const url = env.services.dav?.url;
|
|
@@ -81,7 +92,8 @@ export function serviceEnv(service, agent, ctx) {
|
|
|
81
92
|
const instance = env.cozy.instance;
|
|
82
93
|
if (!instance || !config.drive)
|
|
83
94
|
throw new TwakeAiError('login_required', 'Twake Drive is not connected: run `mcp-twake-ai login --drive`.');
|
|
84
|
-
|
|
95
|
+
// its upload folder defaults to its download folder
|
|
96
|
+
return { TWAKE_DRIVE_URL: instance, TWAKE_DRIVE_TOKEN_COMMAND: tokenCommand('drive', undefined, ctx), TWAKE_DRIVE_DOWNLOAD_DIR: FILES_FOLDER, ...common };
|
|
85
97
|
}
|
|
86
98
|
case 'chat': {
|
|
87
99
|
const device = config.chat?.[agent];
|
|
@@ -94,6 +106,8 @@ export function serviceEnv(service, agent, ctx) {
|
|
|
94
106
|
MATRIX_USER_ID: device.userId,
|
|
95
107
|
MATRIX_TOKEN_COMMAND: tokenCommand('chat', agent, ctx),
|
|
96
108
|
MATRIX_HOMESERVER_URL: env.matrix.homeserver,
|
|
109
|
+
// its upload folder defaults to its download folder
|
|
110
|
+
MATRIX_DOWNLOAD_DIR: FILES_FOLDER,
|
|
97
111
|
...(env.matrix.tom ? { TOM_URL: env.matrix.tom } : {}),
|
|
98
112
|
MATRIX_E2EE_RECOVERY: 'tom',
|
|
99
113
|
// the end-to-end encryption store belongs to one device: a new device gets a new store
|
package/build/catalog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"catalog.js","sourceRoot":"","sources":["../src/catalog.ts"],"names":[],"mappings":"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"}
|
package/build/cozy.js
CHANGED
|
@@ -3,7 +3,7 @@ import { TwakeAiError } from './errors.js';
|
|
|
3
3
|
import { getJson, HttpError, parseAnswer, postForm, postJson, requestJson, requireSecureUrl } from './http.js';
|
|
4
4
|
/** The permissions mcp-twake-drive needs (its README). */
|
|
5
5
|
export const COZY_SCOPE = 'io.cozy.files io.cozy.files.* io.cozy.notes io.cozy.permissions io.cozy.sharings:GET io.cozy.settings:GET io.cozy.contacts:GET';
|
|
6
|
-
export const COZY_SOFTWARE_ID = 'github.com/linagora/mcp-twake-
|
|
6
|
+
export const COZY_SOFTWARE_ID = 'github.com/linagora/mcp-twake-ai';
|
|
7
7
|
const nowS = () => Math.floor(Date.now() / 1000);
|
|
8
8
|
const DEFAULT_TTL_S = 300;
|
|
9
9
|
const RegistrationSchema = z.object({
|
package/build/cozy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cozy.js","sourceRoot":"","sources":["../src/cozy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,gBAAgB,EAAoB,MAAM,WAAW,CAAC;AAGjI,0DAA0D;AAC1D,MAAM,CAAC,MAAM,UAAU,GACrB,gIAAgI,CAAC;AACnI,MAAM,CAAC,MAAM,gBAAgB,GAAG,
|
|
1
|
+
{"version":3,"file":"cozy.js","sourceRoot":"","sources":["../src/cozy.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcp-twake-ai",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Install, configure and authenticate the Twake.ai MCP servers in your AI agents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -22,7 +22,11 @@
|
|
|
22
22
|
},
|
|
23
23
|
"repository": {
|
|
24
24
|
"type": "git",
|
|
25
|
-
"url": "git+https://github.com/linagora/mcp-twake-
|
|
25
|
+
"url": "git+https://github.com/linagora/mcp-twake-ai.git"
|
|
26
|
+
},
|
|
27
|
+
"homepage": "https://github.com/linagora/mcp-twake-ai#readme",
|
|
28
|
+
"bugs": {
|
|
29
|
+
"url": "https://github.com/linagora/mcp-twake-ai/issues"
|
|
26
30
|
},
|
|
27
31
|
"license": "AGPL-3.0-only",
|
|
28
32
|
"dependencies": {
|