excel-mcp-server-pcvelz 0.15.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/LICENSE +21 -0
- package/README.md +218 -0
- package/dist/artifacts.json +1 -0
- package/dist/config.yaml +158 -0
- package/dist/excel-mcp-server_darwin_amd64_v1/excel-mcp-server +0 -0
- package/dist/excel-mcp-server_darwin_arm64_v8.0/excel-mcp-server +0 -0
- package/dist/excel-mcp-server_linux_386_sse2/excel-mcp-server +0 -0
- package/dist/excel-mcp-server_linux_amd64_v1/excel-mcp-server +0 -0
- package/dist/excel-mcp-server_linux_arm64_v8.0/excel-mcp-server +0 -0
- package/dist/excel-mcp-server_windows_386_sse2/excel-mcp-server.exe +0 -0
- package/dist/excel-mcp-server_windows_amd64_v1/excel-mcp-server.exe +0 -0
- package/dist/excel-mcp-server_windows_arm64_v8.0/excel-mcp-server.exe +0 -0
- package/dist/launcher.js +61 -0
- package/dist/metadata.json +1 -0
- package/package.json +26 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
The MIT License (MIT)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Kazuki Negoro
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in
|
|
13
|
+
all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
21
|
+
THE SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
# Excel MCP Server
|
|
2
|
+
|
|
3
|
+
<img src="https://github.com/negokaz/excel-mcp-server/blob/main/docs/img/icon-800.png?raw=true" width="128">
|
|
4
|
+
|
|
5
|
+
<a href="https://glama.ai/mcp/servers/@negokaz/excel-mcp-server">
|
|
6
|
+
<img width="380" height="200" src="https://glama.ai/mcp/servers/@negokaz/excel-mcp-server/badge" alt="Excel Server MCP server" />
|
|
7
|
+
</a>
|
|
8
|
+
|
|
9
|
+
[](https://www.npmjs.com/package/@negokaz/excel-mcp-server)
|
|
10
|
+
[](https://smithery.ai/server/@negokaz/excel-mcp-server)
|
|
11
|
+
|
|
12
|
+
A Model Context Protocol (MCP) server that reads and writes MS Excel data.
|
|
13
|
+
|
|
14
|
+
## Why Fork?
|
|
15
|
+
|
|
16
|
+
This fork ([pcvelz/excel-mcp-server](https://github.com/pcvelz/excel-mcp-server)) adds features needed for real-world bookkeeping workflows that are not yet available upstream:
|
|
17
|
+
|
|
18
|
+
- **Alignment support in `excel_format_range`** — set horizontal/vertical alignment (e.g., left-align numbers)
|
|
19
|
+
- **Alignment in `showStyle` output** — read back cell alignment when using `showStyle: true`
|
|
20
|
+
- **Cell type attributes** — `type` attribute (string, number, formula, date) in `showStyle` output
|
|
21
|
+
- **Raw value attributes** — `raw` attribute showing unformatted values alongside displayed values
|
|
22
|
+
- **ISO date auto-conversion** — write ISO date strings (e.g., `"2026-02-03"`) and they're automatically converted to Excel date serial numbers
|
|
23
|
+
|
|
24
|
+
See the [upstream comparison](https://github.com/negokaz/excel-mcp-server/compare/main...pcvelz:excel-mcp-server:main) for full diff.
|
|
25
|
+
|
|
26
|
+
## Features
|
|
27
|
+
|
|
28
|
+
- Read/Write text values
|
|
29
|
+
- Read/Write formulas
|
|
30
|
+
- Create new sheets
|
|
31
|
+
|
|
32
|
+
**🪟Windows only:**
|
|
33
|
+
- Live editing
|
|
34
|
+
- Capture screen image from a sheet
|
|
35
|
+
|
|
36
|
+
For more details, see the [tools](#tools) section.
|
|
37
|
+
|
|
38
|
+
## Requirements
|
|
39
|
+
|
|
40
|
+
- Node.js 20.x or later
|
|
41
|
+
|
|
42
|
+
## Supported file formats
|
|
43
|
+
|
|
44
|
+
- xlsx (Excel book)
|
|
45
|
+
- xlsm (Excel macro-enabled book)
|
|
46
|
+
- xltx (Excel template)
|
|
47
|
+
- xltm (Excel macro-enabled template)
|
|
48
|
+
|
|
49
|
+
## Installation
|
|
50
|
+
|
|
51
|
+
### Installing via NPM
|
|
52
|
+
|
|
53
|
+
excel-mcp-server is automatically installed by adding the following configuration to the MCP servers configuration.
|
|
54
|
+
|
|
55
|
+
For Windows:
|
|
56
|
+
```json
|
|
57
|
+
{
|
|
58
|
+
"mcpServers": {
|
|
59
|
+
"excel": {
|
|
60
|
+
"command": "cmd",
|
|
61
|
+
"args": ["/c", "npx", "--yes", "@negokaz/excel-mcp-server"],
|
|
62
|
+
"env": {
|
|
63
|
+
"EXCEL_MCP_PAGING_CELLS_LIMIT": "4000"
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
For other platforms:
|
|
71
|
+
```json
|
|
72
|
+
{
|
|
73
|
+
"mcpServers": {
|
|
74
|
+
"excel": {
|
|
75
|
+
"command": "npx",
|
|
76
|
+
"args": ["--yes", "@negokaz/excel-mcp-server"],
|
|
77
|
+
"env": {
|
|
78
|
+
"EXCEL_MCP_PAGING_CELLS_LIMIT": "4000"
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
### Installing via Smithery
|
|
86
|
+
|
|
87
|
+
To install Excel MCP Server for Claude Desktop automatically via [Smithery](https://smithery.ai/server/@negokaz/excel-mcp-server):
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
npx -y @smithery/cli install @negokaz/excel-mcp-server --client claude
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
<h2 id="tools">Tools</h2>
|
|
94
|
+
|
|
95
|
+
### `excel_describe_sheets`
|
|
96
|
+
|
|
97
|
+
List all sheet information of specified Excel file.
|
|
98
|
+
|
|
99
|
+
**Arguments:**
|
|
100
|
+
- `fileAbsolutePath`
|
|
101
|
+
- Absolute path to the Excel file
|
|
102
|
+
|
|
103
|
+
### `excel_read_sheet`
|
|
104
|
+
|
|
105
|
+
Read values from Excel sheet with pagination.
|
|
106
|
+
|
|
107
|
+
**Arguments:**
|
|
108
|
+
- `fileAbsolutePath`
|
|
109
|
+
- Absolute path to the Excel file
|
|
110
|
+
- `sheetName`
|
|
111
|
+
- Sheet name in the Excel file
|
|
112
|
+
- `range`
|
|
113
|
+
- Range of cells to read in the Excel sheet (e.g., "A1:C10"). [default: first paging range]
|
|
114
|
+
- `showFormula`
|
|
115
|
+
- Show formula instead of value [default: false]
|
|
116
|
+
- `showStyle`
|
|
117
|
+
- Show style information for cells [default: false]
|
|
118
|
+
- When enabled, output includes:
|
|
119
|
+
- `style-ref`: References to style definitions (border, font, fill, alignment, numFmt)
|
|
120
|
+
- `type`: Cell type (number, string, date, bool, formula, error)
|
|
121
|
+
- `raw`: Raw/unformatted value (shown when different from displayed value, e.g., `raw="45691"` for a date displayed as "3-Feb")
|
|
122
|
+
|
|
123
|
+
### `excel_screen_capture`
|
|
124
|
+
|
|
125
|
+
**[Windows only]** Take a screenshot of the Excel sheet with pagination.
|
|
126
|
+
|
|
127
|
+
**Arguments:**
|
|
128
|
+
- `fileAbsolutePath`
|
|
129
|
+
- Absolute path to the Excel file
|
|
130
|
+
- `sheetName`
|
|
131
|
+
- Sheet name in the Excel file
|
|
132
|
+
- `range`
|
|
133
|
+
- Range of cells to read in the Excel sheet (e.g., "A1:C10"). [default: first paging range]
|
|
134
|
+
|
|
135
|
+
### `excel_write_to_sheet`
|
|
136
|
+
|
|
137
|
+
Write values to the Excel sheet.
|
|
138
|
+
|
|
139
|
+
**Arguments:**
|
|
140
|
+
- `fileAbsolutePath`
|
|
141
|
+
- Absolute path to the Excel file
|
|
142
|
+
- `sheetName`
|
|
143
|
+
- Sheet name in the Excel file
|
|
144
|
+
- `newSheet`
|
|
145
|
+
- Create a new sheet if true, otherwise write to the existing sheet
|
|
146
|
+
- `range`
|
|
147
|
+
- Range of cells to read in the Excel sheet (e.g., "A1:C10").
|
|
148
|
+
- `values`
|
|
149
|
+
- Values to write to the Excel sheet. If the value is a formula, it should start with "="
|
|
150
|
+
- ISO date strings (e.g., `"2026-02-03"`, `"2026-02-03T10:30:00"`, `"2026-02-03T10:30:00Z"`) are automatically converted to Excel date serial numbers
|
|
151
|
+
|
|
152
|
+
### `excel_create_table`
|
|
153
|
+
|
|
154
|
+
Create a table in the Excel sheet
|
|
155
|
+
|
|
156
|
+
**Arguments:**
|
|
157
|
+
- `fileAbsolutePath`
|
|
158
|
+
- Absolute path to the Excel file
|
|
159
|
+
- `sheetName`
|
|
160
|
+
- Sheet name where the table is created
|
|
161
|
+
- `range`
|
|
162
|
+
- Range to be a table (e.g., "A1:C10")
|
|
163
|
+
- `tableName`
|
|
164
|
+
- Table name to be created
|
|
165
|
+
|
|
166
|
+
### `excel_copy_sheet`
|
|
167
|
+
|
|
168
|
+
Copy existing sheet to a new sheet
|
|
169
|
+
|
|
170
|
+
**Arguments:**
|
|
171
|
+
- `fileAbsolutePath`
|
|
172
|
+
- Absolute path to the Excel file
|
|
173
|
+
- `srcSheetName`
|
|
174
|
+
- Source sheet name in the Excel file
|
|
175
|
+
- `dstSheetName`
|
|
176
|
+
- Sheet name to be copied
|
|
177
|
+
|
|
178
|
+
### `excel_format_range`
|
|
179
|
+
|
|
180
|
+
Format cells in the Excel sheet with style information
|
|
181
|
+
|
|
182
|
+
**Arguments:**
|
|
183
|
+
- `fileAbsolutePath`
|
|
184
|
+
- Absolute path to the Excel file
|
|
185
|
+
- `sheetName`
|
|
186
|
+
- Sheet name in the Excel file
|
|
187
|
+
- `range`
|
|
188
|
+
- Range of cells in the Excel sheet (e.g., "A1:C3")
|
|
189
|
+
- `styles`
|
|
190
|
+
- 2D array of style objects for each cell. If a cell does not change style, use null. The number of items of the array must match the range size.
|
|
191
|
+
- Style object properties:
|
|
192
|
+
- `border`: Array of border styles (type, color, style)
|
|
193
|
+
- `font`: Font styling (bold, italic, underline, size, strike, color, vertAlign)
|
|
194
|
+
- `fill`: Fill/background styling (type, pattern, color, shading)
|
|
195
|
+
- `alignment`: Cell alignment settings
|
|
196
|
+
- `horizontal`: Horizontal alignment (left, center, right, fill, justify, centerContinuous, distributed)
|
|
197
|
+
- `vertical`: Vertical alignment (top, center, bottom, justify, distributed)
|
|
198
|
+
- `wrapText`: Wrap text in cell (boolean)
|
|
199
|
+
- `shrinkToFit`: Shrink text to fit cell width (boolean)
|
|
200
|
+
- `textRotation`: Text rotation angle (0-180, or 255 for vertical)
|
|
201
|
+
- `indent`: Indent level (0-250)
|
|
202
|
+
- `numFmt`: Custom number format string
|
|
203
|
+
- `decimalPlaces`: Number of decimal places (0-30)
|
|
204
|
+
|
|
205
|
+
<h2 id="configuration">Configuration</h2>
|
|
206
|
+
|
|
207
|
+
You can change the MCP Server behaviors by the following environment variables:
|
|
208
|
+
|
|
209
|
+
### `EXCEL_MCP_PAGING_CELLS_LIMIT`
|
|
210
|
+
|
|
211
|
+
The maximum number of cells to read in a single paging operation.
|
|
212
|
+
[default: 4000]
|
|
213
|
+
|
|
214
|
+
## License
|
|
215
|
+
|
|
216
|
+
Copyright (c) 2025 Kazuki Negoro
|
|
217
|
+
|
|
218
|
+
excel-mcp-server is released under the [MIT License](LICENSE)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
[{"name":"metadata.json","path":"dist/metadata.json","internal_type":35,"type":"Metadata"},{"name":"excel-mcp-server","path":"dist/excel-mcp-server_linux_386_sse2/excel-mcp-server","goos":"linux","goarch":"386","go386":"sse2","target":"linux_386_sse2","internal_type":4,"type":"Binary","extra":{"Binary":"excel-mcp-server","Builder":"go","Ext":"","ID":"excel-mcp-server"}},{"name":"excel-mcp-server.exe","path":"dist/excel-mcp-server_windows_386_sse2/excel-mcp-server.exe","goos":"windows","goarch":"386","go386":"sse2","target":"windows_386_sse2","internal_type":4,"type":"Binary","extra":{"Binary":"excel-mcp-server","Builder":"go","Ext":".exe","ID":"excel-mcp-server"}},{"name":"excel-mcp-server","path":"dist/excel-mcp-server_linux_arm64_v8.0/excel-mcp-server","goos":"linux","goarch":"arm64","goarm64":"v8.0","target":"linux_arm64_v8.0","internal_type":4,"type":"Binary","extra":{"Binary":"excel-mcp-server","Builder":"go","Ext":"","ID":"excel-mcp-server"}},{"name":"excel-mcp-server","path":"dist/excel-mcp-server_linux_amd64_v1/excel-mcp-server","goos":"linux","goarch":"amd64","goamd64":"v1","target":"linux_amd64_v1","internal_type":4,"type":"Binary","extra":{"Binary":"excel-mcp-server","Builder":"go","Ext":"","ID":"excel-mcp-server"}},{"name":"excel-mcp-server.exe","path":"dist/excel-mcp-server_windows_arm64_v8.0/excel-mcp-server.exe","goos":"windows","goarch":"arm64","goarm64":"v8.0","target":"windows_arm64_v8.0","internal_type":4,"type":"Binary","extra":{"Binary":"excel-mcp-server","Builder":"go","Ext":".exe","ID":"excel-mcp-server"}},{"name":"excel-mcp-server.exe","path":"dist/excel-mcp-server_windows_amd64_v1/excel-mcp-server.exe","goos":"windows","goarch":"amd64","goamd64":"v1","target":"windows_amd64_v1","internal_type":4,"type":"Binary","extra":{"Binary":"excel-mcp-server","Builder":"go","Ext":".exe","ID":"excel-mcp-server"}},{"name":"excel-mcp-server","path":"dist/excel-mcp-server_darwin_arm64_v8.0/excel-mcp-server","goos":"darwin","goarch":"arm64","goarm64":"v8.0","target":"darwin_arm64_v8.0","internal_type":4,"type":"Binary","extra":{"Binary":"excel-mcp-server","Builder":"go","Ext":"","ID":"excel-mcp-server"}},{"name":"excel-mcp-server","path":"dist/excel-mcp-server_darwin_amd64_v1/excel-mcp-server","goos":"darwin","goarch":"amd64","goamd64":"v1","target":"darwin_amd64_v1","internal_type":4,"type":"Binary","extra":{"Binary":"excel-mcp-server","Builder":"go","Ext":"","ID":"excel-mcp-server"}}]
|
package/dist/config.yaml
ADDED
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
version: 2
|
|
2
|
+
project_name: excel-mcp-server
|
|
3
|
+
release:
|
|
4
|
+
github:
|
|
5
|
+
owner: negokaz
|
|
6
|
+
name: excel-mcp-server
|
|
7
|
+
name_template: '{{.Tag}}'
|
|
8
|
+
builds:
|
|
9
|
+
- id: excel-mcp-server
|
|
10
|
+
goos:
|
|
11
|
+
- linux
|
|
12
|
+
- windows
|
|
13
|
+
- darwin
|
|
14
|
+
goarch:
|
|
15
|
+
- amd64
|
|
16
|
+
- arm64
|
|
17
|
+
- "386"
|
|
18
|
+
goamd64:
|
|
19
|
+
- v1
|
|
20
|
+
go386:
|
|
21
|
+
- sse2
|
|
22
|
+
goarm:
|
|
23
|
+
- "6"
|
|
24
|
+
goarm64:
|
|
25
|
+
- v8.0
|
|
26
|
+
gomips:
|
|
27
|
+
- hardfloat
|
|
28
|
+
goppc64:
|
|
29
|
+
- power8
|
|
30
|
+
goriscv64:
|
|
31
|
+
- rva20u64
|
|
32
|
+
targets:
|
|
33
|
+
- linux_amd64_v1
|
|
34
|
+
- linux_arm64_v8.0
|
|
35
|
+
- linux_386_sse2
|
|
36
|
+
- windows_amd64_v1
|
|
37
|
+
- windows_arm64_v8.0
|
|
38
|
+
- windows_386_sse2
|
|
39
|
+
- darwin_amd64_v1
|
|
40
|
+
- darwin_arm64_v8.0
|
|
41
|
+
dir: .
|
|
42
|
+
main: ./cmd/excel-mcp-server/main.go
|
|
43
|
+
binary: excel-mcp-server
|
|
44
|
+
builder: go
|
|
45
|
+
tool: go
|
|
46
|
+
command: build
|
|
47
|
+
ldflags:
|
|
48
|
+
- -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.Date}} -X main.builtBy=goreleaser
|
|
49
|
+
env:
|
|
50
|
+
- CGO_ENABLED=0
|
|
51
|
+
archives:
|
|
52
|
+
- id: default
|
|
53
|
+
builds_info:
|
|
54
|
+
mode: 493
|
|
55
|
+
name_template: '{{ .ProjectName }}_ {{- title .Os }}_ {{- if eq .Arch "amd64" }}x86_64 {{- else if eq .Arch "386" }}i386 {{- else }}{{ .Arch }}{{ end }} {{- if .Arm }}v{{ .Arm }}{{ end }}'
|
|
56
|
+
formats:
|
|
57
|
+
- tar.gz
|
|
58
|
+
format_overrides:
|
|
59
|
+
- goos: windows
|
|
60
|
+
formats:
|
|
61
|
+
- zip
|
|
62
|
+
files:
|
|
63
|
+
- src: license*
|
|
64
|
+
- src: LICENSE*
|
|
65
|
+
- src: readme*
|
|
66
|
+
- src: README*
|
|
67
|
+
- src: changelog*
|
|
68
|
+
- src: CHANGELOG*
|
|
69
|
+
snapshot:
|
|
70
|
+
version_template: '{{ .Version }}-SNAPSHOT-{{ .ShortCommit }}'
|
|
71
|
+
checksum:
|
|
72
|
+
name_template: '{{ .ProjectName }}_{{ .Version }}_checksums.txt'
|
|
73
|
+
algorithm: sha256
|
|
74
|
+
docker_digest:
|
|
75
|
+
name_template: digests.txt
|
|
76
|
+
changelog:
|
|
77
|
+
filters:
|
|
78
|
+
exclude:
|
|
79
|
+
- '^docs:'
|
|
80
|
+
- '^test:'
|
|
81
|
+
sort: asc
|
|
82
|
+
format: '{{ .SHA }} {{ .Message }}'
|
|
83
|
+
dist: dist
|
|
84
|
+
env_files:
|
|
85
|
+
github_token: ~/.config/goreleaser/github_token
|
|
86
|
+
gitlab_token: ~/.config/goreleaser/gitlab_token
|
|
87
|
+
gitea_token: ~/.config/goreleaser/gitea_token
|
|
88
|
+
before:
|
|
89
|
+
hooks:
|
|
90
|
+
- go mod tidy
|
|
91
|
+
- go generate ./...
|
|
92
|
+
source:
|
|
93
|
+
name_template: '{{ .ProjectName }}-{{ .Version }}'
|
|
94
|
+
format: tar.gz
|
|
95
|
+
gomod:
|
|
96
|
+
gobinary: go
|
|
97
|
+
announce:
|
|
98
|
+
twitter:
|
|
99
|
+
message_template: '{{ .ProjectName }} {{ .Tag }} is out! Check it out at {{ .ReleaseURL }}'
|
|
100
|
+
mastodon:
|
|
101
|
+
message_template: '{{ .ProjectName }} {{ .Tag }} is out! Check it out at {{ .ReleaseURL }}'
|
|
102
|
+
server: ""
|
|
103
|
+
reddit:
|
|
104
|
+
title_template: '{{ .ProjectName }} {{ .Tag }} is out!'
|
|
105
|
+
url_template: '{{ .ReleaseURL }}'
|
|
106
|
+
slack:
|
|
107
|
+
message_template: '{{ .ProjectName }} {{ .Tag }} is out! Check it out at {{ .ReleaseURL }}'
|
|
108
|
+
username: GoReleaser
|
|
109
|
+
discord:
|
|
110
|
+
message_template: '{{ .ProjectName }} {{ .Tag }} is out! Check it out at {{ .ReleaseURL }}'
|
|
111
|
+
author: GoReleaser
|
|
112
|
+
color: "3888754"
|
|
113
|
+
icon_url: https://goreleaser.com/static/avatar.png
|
|
114
|
+
teams:
|
|
115
|
+
title_template: '{{ .ProjectName }} {{ .Tag }} is out!'
|
|
116
|
+
message_template: '{{ .ProjectName }} {{ .Tag }} is out! Check it out at {{ .ReleaseURL }}'
|
|
117
|
+
color: '#2D313E'
|
|
118
|
+
icon_url: https://goreleaser.com/static/avatar.png
|
|
119
|
+
smtp:
|
|
120
|
+
subject_template: '{{ .ProjectName }} {{ .Tag }} is out!'
|
|
121
|
+
body_template: 'You can view details from: {{ .ReleaseURL }}'
|
|
122
|
+
mattermost:
|
|
123
|
+
message_template: '{{ .ProjectName }} {{ .Tag }} is out! Check it out at {{ .ReleaseURL }}'
|
|
124
|
+
title_template: '{{ .ProjectName }} {{ .Tag }} is out!'
|
|
125
|
+
username: GoReleaser
|
|
126
|
+
linkedin:
|
|
127
|
+
message_template: '{{ .ProjectName }} {{ .Tag }} is out! Check it out at {{ .ReleaseURL }}'
|
|
128
|
+
telegram:
|
|
129
|
+
message_template: '{{ mdv2escape .ProjectName }} {{ mdv2escape .Tag }} is out{{ mdv2escape "!" }} Check it out at {{ mdv2escape .ReleaseURL }}'
|
|
130
|
+
parse_mode: MarkdownV2
|
|
131
|
+
webhook:
|
|
132
|
+
message_template: '{ "message": "{{ .ProjectName }} {{ .Tag }} is out! Check it out at {{ .ReleaseURL }}"}'
|
|
133
|
+
content_type: application/json; charset=utf-8
|
|
134
|
+
expected_status_codes:
|
|
135
|
+
- 200
|
|
136
|
+
- 201
|
|
137
|
+
- 202
|
|
138
|
+
- 204
|
|
139
|
+
opencollective:
|
|
140
|
+
title_template: '{{ .Tag }}'
|
|
141
|
+
message_template: '{{ .ProjectName }} {{ .Tag }} is out!<br/>Check it out at <a href="{{ .ReleaseURL }}">{{ .ReleaseURL }}</a>'
|
|
142
|
+
bluesky:
|
|
143
|
+
message_template: '{{ .ProjectName }} {{ .Tag }} is out! Check it out at {{ .ReleaseURL }}'
|
|
144
|
+
discourse:
|
|
145
|
+
title_template: '{{ .ProjectName }} {{ .Tag }} is out!'
|
|
146
|
+
message_template: '{{ .ProjectName }} {{ .Tag }} is out! Check it out at {{ .ReleaseURL }}'
|
|
147
|
+
username: system
|
|
148
|
+
git:
|
|
149
|
+
tag_sort: -version:refname
|
|
150
|
+
mcp:
|
|
151
|
+
name: ""
|
|
152
|
+
title: ""
|
|
153
|
+
auth:
|
|
154
|
+
type: none
|
|
155
|
+
github_urls:
|
|
156
|
+
download: https://github.com
|
|
157
|
+
gitlab_urls:
|
|
158
|
+
download: https://gitlab.com
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/dist/launcher.js
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
+
if (k2 === undefined) k2 = k;
|
|
5
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
+
}
|
|
9
|
+
Object.defineProperty(o, k2, desc);
|
|
10
|
+
}) : (function(o, m, k, k2) {
|
|
11
|
+
if (k2 === undefined) k2 = k;
|
|
12
|
+
o[k2] = m[k];
|
|
13
|
+
}));
|
|
14
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
+
}) : function(o, v) {
|
|
17
|
+
o["default"] = v;
|
|
18
|
+
});
|
|
19
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
+
var ownKeys = function(o) {
|
|
21
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
+
var ar = [];
|
|
23
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
+
return ar;
|
|
25
|
+
};
|
|
26
|
+
return ownKeys(o);
|
|
27
|
+
};
|
|
28
|
+
return function (mod) {
|
|
29
|
+
if (mod && mod.__esModule) return mod;
|
|
30
|
+
var result = {};
|
|
31
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
+
__setModuleDefault(result, mod);
|
|
33
|
+
return result;
|
|
34
|
+
};
|
|
35
|
+
})();
|
|
36
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
|
+
const path = __importStar(require("path"));
|
|
38
|
+
const childProcess = __importStar(require("child_process"));
|
|
39
|
+
const BINARY_DISTRIBUTION_PACKAGES = {
|
|
40
|
+
win32_ia32: "excel-mcp-server_windows_386_sse2",
|
|
41
|
+
win32_x64: "excel-mcp-server_windows_amd64_v1",
|
|
42
|
+
win32_arm64: "excel-mcp-server_windows_arm64_v8.0",
|
|
43
|
+
darwin_x64: "excel-mcp-server_darwin_amd64_v1",
|
|
44
|
+
darwin_arm64: "excel-mcp-server_darwin_arm64_v8.0",
|
|
45
|
+
linux_ia32: "excel-mcp-server_linux_386_sse2",
|
|
46
|
+
linux_x64: "excel-mcp-server_linux_amd64_v1",
|
|
47
|
+
linux_arm64: "excel-mcp-server_linux_arm64_v8.0",
|
|
48
|
+
};
|
|
49
|
+
function getBinaryPath() {
|
|
50
|
+
const suffix = process.platform === 'win32' ? '.exe' : '';
|
|
51
|
+
const pkg = BINARY_DISTRIBUTION_PACKAGES[`${process.platform}_${process.arch}`];
|
|
52
|
+
if (pkg) {
|
|
53
|
+
return path.resolve(__dirname, pkg, `excel-mcp-server${suffix}`);
|
|
54
|
+
}
|
|
55
|
+
else {
|
|
56
|
+
throw new Error(`Unsupported platform: ${process.platform}_${process.arch}`);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
childProcess.execFileSync(getBinaryPath(), process.argv, {
|
|
60
|
+
stdio: 'inherit',
|
|
61
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"project_name":"excel-mcp-server","tag":"v0.14.0","previous_tag":"v0.12.0","version":"0.14.0-SNAPSHOT-5a997a0","commit":"5a997a08f2f28713df99c467fde5715007bf963a","date":"2026-02-05T08:10:23.439288+01:00","runtime":{"goos":"darwin","goarch":"arm64"}}
|
package/package.json
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "excel-mcp-server-pcvelz",
|
|
3
|
+
"version": "0.15.0",
|
|
4
|
+
"description": "An MCP server that reads and writes spreadsheet data to MS Excel file",
|
|
5
|
+
"author": "negokaz",
|
|
6
|
+
"license": "MIT",
|
|
7
|
+
"bin": {
|
|
8
|
+
"excel-mcp-server": "dist/launcher.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist/"
|
|
12
|
+
],
|
|
13
|
+
"scripts": {
|
|
14
|
+
"build": "goreleaser build --snapshot --clean && tsc",
|
|
15
|
+
"prepublishOnly": "npm run build",
|
|
16
|
+
"watch": "tsc --watch",
|
|
17
|
+
"debug": "npx @modelcontextprotocol/inspector dist/launcher.js"
|
|
18
|
+
},
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"@types/node": "^22.13.4",
|
|
21
|
+
"typescript": "^5.7.3"
|
|
22
|
+
},
|
|
23
|
+
"publishConfig": {
|
|
24
|
+
"access": "public"
|
|
25
|
+
}
|
|
26
|
+
}
|