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 CHANGED
@@ -1,5 +1,9 @@
1
1
  # formlab-mcp
2
2
 
3
+ [![npm](https://img.shields.io/npm/v/formlab-mcp.svg)](https://www.npmjs.com/package/formlab-mcp)
4
+ [![license](https://img.shields.io/npm/l/formlab-mcp.svg)](https://github.com/juliu1980/FormLab/blob/main/LICENSE)
5
+ [![FormLab](https://img.shields.io/badge/site-formvix.com-2563eb.svg)](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
- # From npm (once published):
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. [![npm](https://img.shields.io/npm/v/formlab-mcp.svg)](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.0",
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
+ }