Skip to content

Commit b53eda2

Browse files
committed
feat: add MCP server with full Forward Email API coverage (68 tools)
- bin/mcp-server.js: stdio-based CLI entry point - lib/index.js: MCP protocol handler (listTools, invokeTool) - lib/tools.js: all 68 API endpoints as MCP tools - lib/index.d.ts: TypeScript type definitions - test/index.test.js: 14 tests covering tool listing, error handling, API auth, and encrypt - README.md: setup guide, client config examples, full tool reference - .github/workflows/ci.yml: CI for Node 18/20/22 - XO, Prettier, husky, lint-staged, commitlint, c8, fixpack, remark - LICENSE (BUSL-1.1) Tools cover: Account, Logs, Contacts (CardDAV), Calendars (CalDAV), Calendar Events, Domains (CRUD + verify + S3), Catch-All Passwords, Domain Invites, Domain Members, Aliases (CRUD + password generation), Sieve Scripts (API key + alias auth), Emails (outbound SMTP), Messages (IMAP), Folders (IMAP), and Encrypt.
0 parents  commit b53eda2

18 files changed

Lines changed: 10068 additions & 0 deletions

.commitlintrc.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
module.exports = { extends: ['@commitlint/config-conventional'] };

.github/workflows/ci.yml

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
name: CI
2+
on:
3+
push:
4+
branches:
5+
- main
6+
pull_request:
7+
branches:
8+
- main
9+
jobs:
10+
test:
11+
runs-on: ubuntu-latest
12+
steps:
13+
- uses: actions/checkout@v4
14+
- uses: pnpm/action-setup@v3
15+
with:
16+
version: 9
17+
- uses: actions/setup-node@v4
18+
with:
19+
node-version: 18
20+
cache: 'pnpm'
21+
- run: pnpm install
22+
- run: pnpm test

.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
node_modules
2+
coverage
3+
.DS_Store
4+
*.log

.husky/commit-msg

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
#!/bin/sh
2+
npx --no -- commitlint --edit "$1"

.husky/pre-commit

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
pnpm pre-commit

.lintstagedrc

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"*.{js,json,md,yml,yaml}": [
3+
"prettier --write"
4+
],
5+
"*.js": [
6+
"xo --fix"
7+
]
8+
}

.prettierignore

Whitespace-only changes.

.remarkrc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
{
2+
"plugins": ["preset-lint-recommended"]
3+
}

.xo-ignore

Whitespace-only changes.

LICENSE

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
Business Source License 1.1
2+
3+
Parameters
4+
5+
Licensor: Forward Email LLC
6+
Licensed Work: @forwardemail/mcp-server
7+
The Licensed Work is (c) 2025 Forward Email LLC.
8+
Additional Use Grant: You may make use of the Licensed Work, provided that
9+
you may not use the Licensed Work for an Email Service
10+
that is Competitive with the Licensed Work.
11+
12+
A "Competitive" service is a service that offers
13+
email forwarding, email hosting, or email API services
14+
that are substantially similar to those offered by
15+
Forward Email (https://forwardemail.net).
16+
17+
Change Date: Four years from the date the Licensed Work is published.
18+
19+
Change License: MIT
20+
21+
For information about alternative licensing arrangements for the Licensed Work,
22+
please visit: https://forwardemail.net

0 commit comments

Comments
 (0)