itfin-mcp 0.1.0 → 0.1.2
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 +5 -8
- package/dist/index.js +0 -0
- package/package.json +3 -1
- package/scripts/install.sh +21 -9
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Steven Tailor <stv.tailor@gmail.com>
|
|
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 all
|
|
13
|
+
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 THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
Report time and request leave in ITFin by chatting with Claude Code, Codex or Claude Desktop.
|
|
4
4
|
|
|
5
|
+
An unofficial tool. It is not made, endorsed or supported by ITFin.
|
|
6
|
+
|
|
5
7
|
## Install (about 2 minutes)
|
|
6
8
|
|
|
7
9
|
You need macOS, Node.js 22+ and Chrome, Edge, Brave, Arc or Chromium.
|
|
@@ -71,13 +73,8 @@ npm test
|
|
|
71
73
|
npm run typecheck
|
|
72
74
|
```
|
|
73
75
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
```bash
|
|
77
|
-
npm pack
|
|
78
|
-
ITFIN_MCP_PACKAGE=$PWD/itfin-mcp-0.1.0.tgz bash scripts/install.sh
|
|
79
|
-
```
|
|
76
|
+
## License
|
|
80
77
|
|
|
81
|
-
|
|
78
|
+
The code is [MIT](LICENSE), copyright Steven Tailor.
|
|
82
79
|
|
|
83
|
-
|
|
80
|
+
The license covers this project's code only. ITFin, its name, service, API and data belong to their owners and are not licensed here. The tool talks to ITFin only through the API your own account can already use, after you log in yourself. Use it within your company's ITFin terms.
|
package/dist/index.js
CHANGED
|
File without changes
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "itfin-mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"description": "Local MCP server for ITFin: projects, time entries and ITFin token lifecycle",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mcp",
|
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
"codex",
|
|
10
10
|
"timesheet"
|
|
11
11
|
],
|
|
12
|
+
"license": "MIT",
|
|
13
|
+
"author": "Steven Tailor <stv.tailor@gmail.com>",
|
|
12
14
|
"repository": {
|
|
13
15
|
"type": "git",
|
|
14
16
|
"url": "git+https://github.com/steven-tailor/itfin-mcp.git"
|
package/scripts/install.sh
CHANGED
|
@@ -38,20 +38,32 @@ command -v npm >/dev/null || fail "npm is required. It comes with Node.js: https
|
|
|
38
38
|
|
|
39
39
|
PKG="$DIR/node_modules/itfin-mcp"
|
|
40
40
|
version() { node -p 'require(process.argv[1]).version' "$PKG/package.json" 2>/dev/null || true; }
|
|
41
|
-
OLD_VERSION=""
|
|
41
|
+
OLD_VERSION="$(version)"
|
|
42
|
+
# Installs before the npm package were a git clone of the repo, which npm can't install into. Only
|
|
43
|
+
# a clean clone made by the old installer is replaced, never a checkout someone works in.
|
|
44
|
+
LEGACY=""
|
|
42
45
|
if [[ -d "$DIR/.git" ]]; then
|
|
43
|
-
|
|
44
|
-
[[ "$(git -C "$DIR"
|
|
45
|
-
|
|
46
|
+
ORIGIN="$(git -C "$DIR" remote get-url origin 2>/dev/null || true)"
|
|
47
|
+
[[ "$ORIGIN" =~ ^https://github\.com/(softgem-dev|steven-tailor)/itfin-mcp(\.git)?$ && -z "$(git -C "$DIR" status --porcelain 2>/dev/null)" ]] \
|
|
48
|
+
|| fail "$DIR is a git repo other than an itfin-mcp install, or has local changes. Pick another folder with --dir."
|
|
49
|
+
LEGACY=1
|
|
46
50
|
OLD_VERSION="git"
|
|
47
|
-
rm -rf "$DIR"
|
|
48
|
-
else
|
|
49
|
-
OLD_VERSION="$(version)"
|
|
50
51
|
fi
|
|
51
52
|
|
|
53
|
+
# A git install is replaced only after npm succeeds, so a failed update leaves it working.
|
|
54
|
+
TARGET="$DIR"
|
|
55
|
+
[[ -n "$LEGACY" ]] && TARGET="$DIR.npm-$$"
|
|
52
56
|
echo "→ Installing $PACKAGE from npm"
|
|
53
|
-
mkdir -p "$
|
|
54
|
-
npm install --prefix "$
|
|
57
|
+
mkdir -p "$TARGET"
|
|
58
|
+
if ! npm install --prefix "$TARGET" --silent --no-audit --no-fund --omit=dev "$PACKAGE"; then
|
|
59
|
+
[[ -n "$LEGACY" ]] && rm -rf "$TARGET"
|
|
60
|
+
fail "npm could not install $PACKAGE."
|
|
61
|
+
fi
|
|
62
|
+
if [[ -n "$LEGACY" ]]; then
|
|
63
|
+
echo "→ Replacing the git clone in $DIR with the npm package"
|
|
64
|
+
rm -rf "$DIR"
|
|
65
|
+
mv "$TARGET" "$DIR"
|
|
66
|
+
fi
|
|
55
67
|
NEW_VERSION="$(version)"
|
|
56
68
|
[[ -n "$NEW_VERSION" ]] || fail "npm did not install itfin-mcp into $DIR."
|
|
57
69
|
|