formlab-mcp 0.1.0 → 0.1.1
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 +9 -4
- package/SUBMISSION.md +129 -0
- package/package.json +1 -1
- package/server.json +33 -0
package/README.md
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
# formlab-mcp
|
|
2
2
|
|
|
3
|
+
[](https://www.npmjs.com/package/formlab-mcp)
|
|
4
|
+
[](https://github.com/juliu1980/FormLab/blob/main/LICENSE)
|
|
5
|
+
[](https://formvix.com)
|
|
6
|
+
|
|
3
7
|
A **read-only Model Context Protocol server** for [FormLab](https://formvix.com). Lets Claude (or any MCP-compatible AI assistant) read and analyze your local FormLab database — your formulations, ingredients, batches, samples and test results — **without your data ever leaving your machine**.
|
|
4
8
|
|
|
5
9
|
> Local-first + AI-native. Your proprietary recipes stay on your laptop; only the LLM's answer to your question travels.
|
|
@@ -37,11 +41,12 @@ Ask Claude (or another MCP client) things like:
|
|
|
37
41
|
## Install
|
|
38
42
|
|
|
39
43
|
```bash
|
|
40
|
-
#
|
|
41
|
-
npm install -g formlab-mcp
|
|
42
|
-
|
|
43
|
-
# Or run directly without installing:
|
|
44
|
+
# Run directly without installing — recommended:
|
|
44
45
|
npx formlab-mcp /path/to/formlab-export.json
|
|
46
|
+
|
|
47
|
+
# Or install globally for repeated use:
|
|
48
|
+
npm install -g formlab-mcp
|
|
49
|
+
formlab-mcp /path/to/formlab-export.json
|
|
45
50
|
```
|
|
46
51
|
|
|
47
52
|
For local development from this repo:
|
package/SUBMISSION.md
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
# MCP submission — ready-to-paste materials
|
|
2
|
+
|
|
3
|
+
Both directory paths are prepped. Path B is fastest; Path A is the canonical
|
|
4
|
+
registry placement. Recommended order: B first (immediate discoverability),
|
|
5
|
+
then A (long-term legitimacy).
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Path B — `awesome-mcp-servers` PR
|
|
10
|
+
|
|
11
|
+
Three lists worth submitting to, in rough order of reach:
|
|
12
|
+
|
|
13
|
+
1. **[punkpeye/awesome-mcp-servers](https://github.com/punkpeye/awesome-mcp-servers)** (~50k stars, primary)
|
|
14
|
+
2. **[appcypher/awesome-mcp-servers](https://github.com/appcypher/awesome-mcp-servers)**
|
|
15
|
+
3. **[wong2/awesome-mcp-servers](https://github.com/wong2/awesome-mcp-servers)**
|
|
16
|
+
|
|
17
|
+
### Entry markdown (drop into the right category section)
|
|
18
|
+
|
|
19
|
+
```markdown
|
|
20
|
+
- [**formlab-mcp**](https://github.com/juliu1980/FormLab/tree/main/mcp) - Local-first read access to your [FormLab](https://formvix.com) lab notebook — formulations, ingredients, batches, samples, test results, DOE matrices. Data stays on your machine; only the LLM's answer travels. [](https://www.npmjs.com/package/formlab-mcp)
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
### Suggested category
|
|
24
|
+
|
|
25
|
+
Best fit on `punkpeye/awesome-mcp-servers`: **"📊 Data Science Tools"** or
|
|
26
|
+
**"🔬 Knowledge & Memory"** depending on how the list is structured. Skim the
|
|
27
|
+
TOC and pick whichever section already has domain-specific lab/research
|
|
28
|
+
servers. If neither fits, **"🛠️ Other Tools and Integrations"** is the safe
|
|
29
|
+
catch-all.
|
|
30
|
+
|
|
31
|
+
### PR title
|
|
32
|
+
|
|
33
|
+
```
|
|
34
|
+
Add formlab-mcp — local-first lab-notebook server for chem/cosmetic R&D
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
### PR body
|
|
38
|
+
|
|
39
|
+
```markdown
|
|
40
|
+
Adds **formlab-mcp**, a read-only MCP server that exposes a [FormLab](https://formvix.com)
|
|
41
|
+
lab notebook export to Claude (or any MCP client). FormLab is a browser-based
|
|
42
|
+
local-first ELN for formulation R&D — paints, coatings, cosmetics, polymers.
|
|
43
|
+
|
|
44
|
+
The server lets users ask Claude things like _"which of my formulations use
|
|
45
|
+
silicone fluid at 5%+?"_, _"compare FORM-001 and FORM-004 side by side"_,
|
|
46
|
+
_"what parameters fail acceptance most often?"_, or _"show me the DOE matrix
|
|
47
|
+
at sample grain for Anti-Aging Serum family"_ — all against a JSON export
|
|
48
|
+
that stays on the user's laptop.
|
|
49
|
+
|
|
50
|
+
**15 read-only tools** covering formulations, ingredients, batches, samples,
|
|
51
|
+
test results, DOE matrices, similarity, failure analysis, coverage matrices.
|
|
52
|
+
|
|
53
|
+
- Repo: https://github.com/juliu1980/FormLab/tree/main/mcp
|
|
54
|
+
- npm: https://www.npmjs.com/package/formlab-mcp
|
|
55
|
+
- Node 18+; runs via `npx formlab-mcp /path/to/export.json`
|
|
56
|
+
- License: MIT
|
|
57
|
+
|
|
58
|
+
Happy to move the entry to a different category if there's a better fit.
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
### Submission workflow
|
|
62
|
+
|
|
63
|
+
For each fork target above:
|
|
64
|
+
|
|
65
|
+
1. Visit https://github.com/punkpeye/awesome-mcp-servers (or the alt)
|
|
66
|
+
2. Open `README.md` → click ✏ (Edit) → GitHub will fork on your behalf
|
|
67
|
+
3. Find the appropriate `###` category section
|
|
68
|
+
4. Paste the **Entry markdown** in alphabetical order within the section
|
|
69
|
+
5. Commit message: `Add formlab-mcp`
|
|
70
|
+
6. Open PR with the **PR title** and **PR body** above
|
|
71
|
+
|
|
72
|
+
Total time for all three: ~15 minutes.
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
## Path A — Official MCP Registry
|
|
77
|
+
|
|
78
|
+
This places `formlab-mcp` in `https://registry.modelcontextprotocol.io`,
|
|
79
|
+
which is what future MCP-aware tools will query first.
|
|
80
|
+
|
|
81
|
+
### Prereqs
|
|
82
|
+
|
|
83
|
+
```bash
|
|
84
|
+
# Go 1.24+ — needed to build mcp-publisher
|
|
85
|
+
brew install go
|
|
86
|
+
|
|
87
|
+
# Build the publisher CLI
|
|
88
|
+
git clone https://github.com/modelcontextprotocol/registry
|
|
89
|
+
cd registry
|
|
90
|
+
make publisher # produces ./bin/mcp-publisher
|
|
91
|
+
sudo mv bin/mcp-publisher /usr/local/bin/ # or add to PATH
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Manifest
|
|
95
|
+
|
|
96
|
+
Already written to `mcp/server.json` in this repo. Uses:
|
|
97
|
+
- Namespace: `io.github.juliu1980/formlab-mcp` (GitHub OAuth proves ownership)
|
|
98
|
+
- Status: `active`
|
|
99
|
+
- Repository: `https://github.com/juliu1980/FormLab` with subfolder `mcp`
|
|
100
|
+
- Version: pulled from `package.json` (currently `0.1.1`)
|
|
101
|
+
- Package: npm `formlab-mcp` with stdio transport + positional `exportPath` arg
|
|
102
|
+
|
|
103
|
+
### Publish (the OAuth step is interactive)
|
|
104
|
+
|
|
105
|
+
```bash
|
|
106
|
+
cd /Users/juliu/Documents/GitHub/formlab/mcp
|
|
107
|
+
mcp-publisher login # opens GitHub OAuth in your browser as juliu1980
|
|
108
|
+
mcp-publisher publish # reads server.json and submits
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
### Verify
|
|
112
|
+
|
|
113
|
+
After publish, the server appears at:
|
|
114
|
+
- `https://registry.modelcontextprotocol.io/v0/servers?search=formlab`
|
|
115
|
+
|
|
116
|
+
### Versioning future updates
|
|
117
|
+
|
|
118
|
+
Bump `package.json` `version` AND `mcp/server.json`'s `version` + the package
|
|
119
|
+
version, then re-run `mcp-publisher publish`. The CLI rejects duplicate
|
|
120
|
+
version submissions.
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## After both paths land
|
|
125
|
+
|
|
126
|
+
- Post to X / LinkedIn announcing it (memory file has a draft)
|
|
127
|
+
- Cross-post to r/cosmeticchemistry, r/paint, r/Chemistry — any lab-adjacent
|
|
128
|
+
subreddits where local-first + AI lands well
|
|
129
|
+
- Add a section to the formvix.com landing page linking to the registry entry
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "formlab-mcp",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Read-only Model Context Protocol server for FormLab — lets Claude (and other MCP clients) read and analyze your local FormLab export. Your recipes never leave your machine.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
package/server.json
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
3
|
+
"name": "io.github.juliu1980/formlab-mcp",
|
|
4
|
+
"description": "Read-only MCP for FormLab — talk to your local lab notebook via Claude. Data stays local.",
|
|
5
|
+
"version": "0.1.1",
|
|
6
|
+
"websiteUrl": "https://formvix.com",
|
|
7
|
+
"repository": {
|
|
8
|
+
"url": "https://github.com/juliu1980/FormLab",
|
|
9
|
+
"source": "github",
|
|
10
|
+
"subfolder": "mcp"
|
|
11
|
+
},
|
|
12
|
+
"packages": [
|
|
13
|
+
{
|
|
14
|
+
"registryType": "npm",
|
|
15
|
+
"identifier": "formlab-mcp",
|
|
16
|
+
"version": "0.1.1",
|
|
17
|
+
"runtimeHint": "npx",
|
|
18
|
+
"transport": {
|
|
19
|
+
"type": "stdio"
|
|
20
|
+
},
|
|
21
|
+
"packageArguments": [
|
|
22
|
+
{
|
|
23
|
+
"type": "positional",
|
|
24
|
+
"name": "exportPath",
|
|
25
|
+
"description": "Absolute path to a FormLab export JSON file (Data → Export JSON in the FormLab UI).",
|
|
26
|
+
"isRequired": true,
|
|
27
|
+
"format": "filepath",
|
|
28
|
+
"value": "/path/to/formlab-export.json"
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
}
|
|
32
|
+
]
|
|
33
|
+
}
|