@softeria/ms-365-mcp-server 0.3.1 → 0.3.3

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.
Files changed (2) hide show
  1. package/README.md +34 -156
  2. package/package.json +5 -1
package/README.md CHANGED
@@ -1,213 +1,91 @@
1
1
  # ms-365-mcp-server
2
2
 
3
+ ![npm version](https://img.shields.io/npm/v/@softeria/ms-365-mcp-server.svg) ![build status](https://github.com/softeria/ms-365-mcp-server/actions/workflows/build.yml/badge.svg) ![license](https://img.shields.io/badge/license-MIT-blue.svg)
4
+
3
5
  Microsoft 365 MCP Server
4
6
 
5
7
  A Model Context Protocol (MCP) server for interacting with Microsoft 365 services through the Graph API.
6
8
 
7
- [![npm version](https://img.shields.io/npm/v/@softeria/ms-365-mcp-server.svg)](https://www.npmjs.com/package/@softeria/ms-365-mcp-server)
9
+ ## Prerequisites
10
+
11
+ - Node.js >= 14
8
12
 
9
13
  ## Features
10
14
 
11
- - Authentication using Microsoft Authentication Library (MSAL)
15
+ - Authentication via Microsoft Authentication Library (MSAL)
12
16
  - Excel file operations
13
17
  - Calendar event management
14
18
  - Mail operations
15
19
  - OneDrive file management
16
- - Dynamic tools powered by Microsoft Graph OpenAPI specification
20
+ - Dynamic tools powered by Microsoft Graph OpenAPI spec
17
21
  - Built on the Model Context Protocol
18
22
 
19
- ## Installation
20
-
21
- ```bash
22
- npx @softeria/ms-365-mcp-server
23
- ```
24
-
25
23
  ## Quick Start Example
26
24
 
27
- Login and test authentication in Claude Desktop:
25
+ Test login in Claude Desktop:
28
26
 
29
- ![MS 365 MCP Server login example in Claude Desktop](https://github.com/user-attachments/assets/936d16bc-b3e1-437b-b3f1-03c54874a816)
27
+ ![Login example](![Image](https://github.com/user-attachments/assets/e457884f-c98a-4186-9e6f-eb323ec24e0a)
30
28
 
31
29
  ## Examples
32
30
 
33
31
  ![Image](https://github.com/user-attachments/assets/1a296afb-48ed-42b0-9e7c-e685d5d1784c)
34
32
 
35
-
36
- ## Integration with Claude
33
+ ## Integration
37
34
 
38
35
  ### Claude Desktop
39
36
 
40
37
  To add this MCP server to Claude Desktop:
41
38
 
42
- 1. Launch Claude Desktop
43
- 2. Go to Settings > MCPs
44
- 3. Click "Add MCP"
45
- 4. Set the following configuration:
46
- - Name: `ms365` (or any name you prefer)
47
- - Command: `npx @softeria/ms-365-mcp-server`
48
- - Click "Add"
49
-
50
- Alternatively, you can edit Claude Desktop's configuration file directly. The location varies by platform, but you can
51
- find it by going to Settings > Developer > Edit Config. Add this to your configuration file:
39
+ Edit the config file under Settings > Developer:
52
40
 
53
41
  ```json
54
42
  {
55
43
  "mcpServers": {
56
44
  "ms365": {
57
45
  "command": "npx",
58
- "args": ["-y", "@softeria/ms-365-mcp-server"]
46
+ "args": [
47
+ "-y",
48
+ "@softeria/ms-365-mcp-server"
49
+ ]
59
50
  }
60
51
  }
61
52
  }
62
53
  ```
63
54
 
64
- ### Using Claude Code CLI
65
-
66
- You can add the server to Claude Code CLI using this command:
55
+ ### Claude Code CLI
67
56
 
68
57
  ```bash
69
58
  claude mcp add ms365 -- npx -y @softeria/ms-365-mcp-server
70
59
  ```
71
60
 
72
- For other Claude interfaces that support MCPs, please refer to their respective documentation for the correct
61
+ For other interfaces that support MCPs, please refer to their respective documentation for the correct
73
62
  integration method.
74
63
 
75
- ## Usage
76
-
77
- ### Command Line Options
78
-
79
- ```bash
80
- npx @softeria/ms-365-mcp-server [options]
81
- ```
82
-
83
- Options:
84
-
85
- - `--login`: Force login using device code flow and verify Graph API access
86
- - `--logout`: Log out and clear saved credentials
87
- - `--verify-login`: Test current authentication and verify Graph API access without starting the server
88
- - `-v`: Enable verbose logging
89
-
90
64
  ### Authentication
91
65
 
92
- **Important:** You must authenticate before using the MCP server. There are two ways to authenticate:
93
-
94
- 1. Running the server with the `--login` flag:
66
+ > ⚠️ You must authenticate before using tools.
95
67
 
68
+ 1. **MCP client login**:
69
+ - Call the `login` tool (auto-checks existing token)
70
+ - If needed, get URL+code, visit in browser
71
+ - Use `verify-login` tool to confirm
72
+ -
73
+ 2. **Optional CLI login**:
96
74
  ```bash
97
75
  npx @softeria/ms-365-mcp-server --login
98
76
  ```
77
+ Follow the URL and code prompt in terminal.
99
78
 
100
- This will display the login URL and code in the terminal.
101
-
102
- 2. When using Claude Code or other MCP clients, use the login tools:
103
- - First use the `login` tool, which will automatically check if you're already logged in
104
- - If not already logged in, it will return the login URL and code
105
- - Visit the URL and enter the code in your browser
106
- - Then use the `verify-login` tool to check if the login was successful
107
- - To force a new login even if already authenticated, use the `login` tool with `force: true`
108
-
109
- Both methods trigger the device code flow authentication, but they handle the UI interaction differently:
79
+ Tokens are cached securely in your OS credential store (fallback to file).
110
80
 
111
- - CLI version displays the instructions directly in the terminal
112
- - MCP tool version returns the instructions as data that can be shown in the client UI
113
-
114
- You can verify your authentication status with the `--verify-login` flag, which will check if your token can successfully
115
- fetch user data from Microsoft Graph API:
116
-
117
- ```bash
118
- npx @softeria/ms-365-mcp-server --verify-login
119
- ```
120
-
121
- Both `--login` and `--verify-login` will return a JSON response that includes your basic user information from Microsoft
122
- Graph API if authentication is successful:
123
-
124
- ```json
125
- {
126
- "success": true,
127
- "message": "Login successful",
128
- "userData": {
129
- "displayName": "Your Name",
130
- "userPrincipalName": "your.email@example.com"
131
- }
132
- }
133
- ```
81
+ ## Tools
134
82
 
135
- Authentication tokens are cached securely in your system's credential store with fallback to file storage if needed.
136
-
137
- ### MCP Tools
138
-
139
- This server provides several MCP tools for interacting with Microsoft 365 services, including:
140
-
141
- - Authentication (login, logout)
142
- - Files/OneDrive management
143
- - Excel operations:
144
- - List worksheets
145
- - Get cell range values
146
- - Format cell ranges
147
- - Sort data
148
- - Create charts
149
- - Calendar management
150
- - Mail operations
151
-
152
- For a complete list of available tools and their parameters, use an MCP-enabled Claude interface and explore the available tools.
153
-
154
- ## For Developers
155
-
156
- ### Setup
157
-
158
- ```bash
159
- # Clone the repository
160
- git clone https://github.com/softeria-eu/ms-365-mcp-server.git
161
- cd ms-365-mcp-server
162
-
163
- # Install dependencies
164
- npm install
165
-
166
- # Run tests
167
- npm test
168
- ```
169
-
170
- ### OpenAPI Integration
171
-
172
- This project uses the Microsoft Graph OpenAPI specification to dynamically generate MCP tools. During installation, the OpenAPI specification is automatically downloaded from Microsoft Graph's GitHub repository.
173
-
174
- To manually download the latest OpenAPI spec:
175
-
176
- ```bash
177
- # Download the latest OpenAPI spec from Microsoft Graph
178
- npm run download-openapi
179
- ```
180
-
181
- ### GitHub Actions
182
-
183
- This repository uses GitHub Actions for continuous integration and deployment:
184
-
185
- - **Build Workflow**: Runs on all pushes to main and pull requests. Verifies the project builds successfully and passes
186
- all tests.
187
- - **Publish Workflow**: Automatically publishes to npm when a new GitHub release is created.
188
-
189
- [![Build Status](https://github.com/softeria-eu/ms-365-mcp-server/actions/workflows/build.yml/badge.svg)](https://github.com/softeria-eu/ms-365-mcp-server/actions/workflows/build.yml)
190
-
191
- ### Release Process
192
-
193
- To create a new release:
194
-
195
- ```bash
196
- # Default (patch version): 0.1.11 -> 0.1.12
197
- npm run release
198
-
199
- # Minor version: 0.1.11 -> 0.2.0
200
- npm run release minor
201
-
202
- # Major version: 0.1.11 -> 1.0.0
203
- npm run release major
204
- ```
83
+ - **Authentication:** `login`, `logout`, `verify-login`
84
+ - **Excel:** list worksheets, get/set ranges, format, sort, chart
85
+ - **Calendar:** list/create/update/delete events
86
+ - **Mail:** send, read, delete messages
87
+ - **OneDrive:** upload, download, list files
205
88
 
206
- This script will:
89
+ ## License
207
90
 
208
- 1. Run tests to verify everything works
209
- 2. Bump the version number according to the specified type (patch by default)
210
- 3. Commit the version changes
211
- 4. Push to GitHub
212
- 5. Create a GitHub release
213
- 6. Trigger the publishing workflow to publish to npm
91
+ MIT © 2025 Softeria
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@softeria/ms-365-mcp-server",
3
- "version": "0.3.1",
3
+ "version": "0.3.3",
4
4
  "description": "Microsoft 365 MCP Server",
5
5
  "type": "module",
6
6
  "main": "index.mjs",
@@ -40,5 +40,9 @@
40
40
  "devDependencies": {
41
41
  "prettier": "^3.5.3",
42
42
  "vitest": "^3.1.1"
43
+ },
44
+ "repository": {
45
+ "type": "git",
46
+ "url": "https://github.com/softeria/ms-365-mcp-server.git"
43
47
  }
44
48
  }