@react-native-nitro-device-info/mcp-server 1.0.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.
Files changed (42) hide show
  1. package/README.md +220 -0
  2. package/dist/cli/init.d.ts +12 -0
  3. package/dist/cli/init.d.ts.map +1 -0
  4. package/dist/cli/init.js +153 -0
  5. package/dist/cli/init.js.map +1 -0
  6. package/dist/index.d.ts +14 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +375 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/indexer/api-parser.d.ts +23 -0
  11. package/dist/indexer/api-parser.d.ts.map +1 -0
  12. package/dist/indexer/api-parser.js +404 -0
  13. package/dist/indexer/api-parser.js.map +1 -0
  14. package/dist/indexer/doc-parser.d.ts +38 -0
  15. package/dist/indexer/doc-parser.d.ts.map +1 -0
  16. package/dist/indexer/doc-parser.js +359 -0
  17. package/dist/indexer/doc-parser.js.map +1 -0
  18. package/dist/indexer/index.d.ts +54 -0
  19. package/dist/indexer/index.d.ts.map +1 -0
  20. package/dist/indexer/index.js +151 -0
  21. package/dist/indexer/index.js.map +1 -0
  22. package/dist/indexer/search.d.ts +36 -0
  23. package/dist/indexer/search.d.ts.map +1 -0
  24. package/dist/indexer/search.js +511 -0
  25. package/dist/indexer/search.js.map +1 -0
  26. package/dist/tools/get-api.d.ts +26 -0
  27. package/dist/tools/get-api.d.ts.map +1 -0
  28. package/dist/tools/get-api.js +229 -0
  29. package/dist/tools/get-api.js.map +1 -0
  30. package/dist/tools/list-apis.d.ts +32 -0
  31. package/dist/tools/list-apis.d.ts.map +1 -0
  32. package/dist/tools/list-apis.js +210 -0
  33. package/dist/tools/list-apis.js.map +1 -0
  34. package/dist/tools/search-docs.d.ts +32 -0
  35. package/dist/tools/search-docs.d.ts.map +1 -0
  36. package/dist/tools/search-docs.js +148 -0
  37. package/dist/tools/search-docs.js.map +1 -0
  38. package/dist/types/index.d.ts +166 -0
  39. package/dist/types/index.d.ts.map +1 -0
  40. package/dist/types/index.js +9 -0
  41. package/dist/types/index.js.map +1 -0
  42. package/package.json +59 -0
package/README.md ADDED
@@ -0,0 +1,220 @@
1
+ # @react-native-nitro-device-info/mcp-server
2
+
3
+ MCP (Model Context Protocol) server for react-native-nitro-device-info that enables AI tools like Claude, Cursor, and Copilot to accurately access library documentation and API information.
4
+
5
+ ## Prerequisites
6
+
7
+ | Requirement | Version | Notes |
8
+ |-------------|---------|-------|
9
+ | Node.js | ≥20.0.0 | LTS recommended. Check with `node --version` |
10
+ | npm | ≥10.0.0 | Bundled with Node.js 20+ |
11
+
12
+ ## Installation
13
+
14
+ ### Option 1: npx (Recommended)
15
+
16
+ No installation required. Configure your AI tool to run directly:
17
+
18
+ ```bash
19
+ npx @react-native-nitro-device-info/mcp-server
20
+ ```
21
+
22
+ **Advantages**:
23
+ - Always uses latest version
24
+ - No global installation needed
25
+ - Works immediately after npm registry access
26
+
27
+ ### Option 2: Global Install
28
+
29
+ ```bash
30
+ npm install -g @react-native-nitro-device-info/mcp-server
31
+ ```
32
+
33
+ Then run:
34
+
35
+ ```bash
36
+ nitro-device-info-mcp
37
+ ```
38
+
39
+ ## Quick Setup (Recommended)
40
+
41
+ Run the `init` command in your React Native project to automatically configure MCP for Cursor and Claude Code:
42
+
43
+ ```bash
44
+ cd your-react-native-project
45
+ npx @react-native-nitro-device-info/mcp-server init
46
+ ```
47
+
48
+ This creates:
49
+ - `.cursor/mcp.json` - Cursor IDE configuration
50
+ - `.mcp.json` - Claude Code project configuration
51
+
52
+ Then restart your IDE and start asking questions!
53
+
54
+ ## Manual Configuration
55
+
56
+ ### Claude Desktop (macOS)
57
+
58
+ **Configuration file**: `~/Library/Application Support/Claude/claude_desktop_config.json`
59
+
60
+ **Windows path**: `%APPDATA%\Claude\claude_desktop_config.json`
61
+
62
+ ```json
63
+ {
64
+ "mcpServers": {
65
+ "nitro-device-info": {
66
+ "command": "npx",
67
+ "args": ["@react-native-nitro-device-info/mcp-server"]
68
+ }
69
+ }
70
+ }
71
+ ```
72
+
73
+ **Steps**:
74
+ 1. Open the configuration file (create if doesn't exist)
75
+ 2. Add the `mcpServers` entry above
76
+ 3. Restart Claude Desktop completely (Cmd+Q, then reopen)
77
+ 4. Verify: Ask "What battery APIs does react-native-nitro-device-info have?"
78
+
79
+ ### Cursor IDE
80
+
81
+ **Configuration file**: `.cursor/mcp.json` (in your project root)
82
+
83
+ ```json
84
+ {
85
+ "mcpServers": {
86
+ "nitro-device-info": {
87
+ "command": "npx",
88
+ "args": ["@react-native-nitro-device-info/mcp-server"]
89
+ }
90
+ }
91
+ }
92
+ ```
93
+
94
+ ### Generic MCP Client
95
+
96
+ For any MCP-compatible client using stdio transport:
97
+
98
+ ```json
99
+ {
100
+ "command": "npx",
101
+ "args": ["@react-native-nitro-device-info/mcp-server"],
102
+ "transport": "stdio"
103
+ }
104
+ ```
105
+
106
+ ## Verification
107
+
108
+ ### Step 1: Check Server Loading
109
+
110
+ In Claude Desktop or your AI tool, ask:
111
+
112
+ > "What tools does the nitro-device-info MCP server provide?"
113
+
114
+ **Expected response**: Should mention `search_docs`, `get_api`, and `list_apis`.
115
+
116
+ ### Step 2: Test API Lookup
117
+
118
+ > "Show me the getBatteryLevel API from react-native-nitro-device-info"
119
+
120
+ ### Step 3: Test Search
121
+
122
+ > "How do I check if headphones are connected?"
123
+
124
+ ### Step 4: Test List
125
+
126
+ > "List all battery-related APIs"
127
+
128
+ ## Available Tools
129
+
130
+ | Tool | Purpose | Example Query |
131
+ |------|---------|---------------|
132
+ | `search_docs` | Search documentation with natural language | "how to get device model" |
133
+ | `get_api` | Get detailed info about a specific API | "show me getBatteryLevel" |
134
+ | `list_apis` | List APIs by category, platform, or type | "list all network APIs" |
135
+
136
+ ## Usage Examples
137
+
138
+ ### Basic Questions
139
+
140
+ > "How do I get the device's battery level?"
141
+
142
+ The AI will query the MCP server and provide accurate API information:
143
+
144
+ ```typescript
145
+ import { NitroModules } from 'react-native-nitro-modules';
146
+ import type { DeviceInfo } from 'react-native-nitro-device-info';
147
+
148
+ const deviceInfo = NitroModules.createHybridObject<DeviceInfo>('DeviceInfo');
149
+
150
+ // Get battery level (0.0 to 1.0)
151
+ const batteryLevel = deviceInfo.getBatteryLevel();
152
+ console.log(`Battery: ${Math.round(batteryLevel * 100)}%`);
153
+ ```
154
+
155
+ ### API Discovery
156
+
157
+ > "What APIs are available for network information?"
158
+
159
+ ### Troubleshooting Questions
160
+
161
+ > "Why does getIpAddress return empty on iOS simulator?"
162
+
163
+ ## Troubleshooting
164
+
165
+ ### Server Not Loading
166
+
167
+ **Symptom**: AI doesn't recognize react-native-nitro-device-info questions
168
+
169
+ **Diagnostic steps**:
170
+
171
+ 1. **Check Node.js version**:
172
+ ```bash
173
+ node --version # Must be v20.0.0 or higher
174
+ ```
175
+
176
+ 2. **Verify npx works**:
177
+ ```bash
178
+ npx --version
179
+ ```
180
+
181
+ 3. **Test server directly**:
182
+ ```bash
183
+ npx @react-native-nitro-device-info/mcp-server --help
184
+ ```
185
+
186
+ 4. **Check Claude Desktop logs** (macOS):
187
+ ```bash
188
+ tail -f ~/Library/Logs/Claude/mcp*.log
189
+ ```
190
+
191
+ ### Common Issues
192
+
193
+ | Issue | Cause | Solution |
194
+ |-------|-------|----------|
195
+ | "command not found" | Node.js not in PATH | Reinstall Node.js or add to PATH |
196
+ | "npm ERR! 404" | Package not published | Wait for npm publish or build from source |
197
+ | JSON parse error | Invalid config syntax | Check for trailing commas, quotes |
198
+ | Server timeout | Slow network/registry | Use global install for offline use |
199
+
200
+ ## Development
201
+
202
+ ### Run from Source
203
+
204
+ ```bash
205
+ git clone https://github.com/l2hyunwoo/react-native-nitro-device-info.git
206
+ cd react-native-nitro-device-info
207
+ yarn install
208
+ yarn workspace @react-native-nitro-device-info/mcp-server build
209
+ yarn workspace @react-native-nitro-device-info/mcp-server start
210
+ ```
211
+
212
+ ### Run Tests
213
+
214
+ ```bash
215
+ yarn workspace @react-native-nitro-device-info/mcp-server test
216
+ ```
217
+
218
+ ## License
219
+
220
+ MIT
@@ -0,0 +1,12 @@
1
+ /**
2
+ * CLI init command - generates MCP configuration files
3
+ *
4
+ * Supports:
5
+ * - .cursor/mcp.json for Cursor IDE
6
+ * - .mcp.json for Claude Code (project-level)
7
+ */
8
+ /**
9
+ * Run the init command
10
+ */
11
+ export declare function runInit(): Promise<void>;
12
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAyGH;;GAEG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAkC7C"}
@@ -0,0 +1,153 @@
1
+ "use strict";
2
+ /**
3
+ * CLI init command - generates MCP configuration files
4
+ *
5
+ * Supports:
6
+ * - .cursor/mcp.json for Cursor IDE
7
+ * - .mcp.json for Claude Code (project-level)
8
+ */
9
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ var desc = Object.getOwnPropertyDescriptor(m, k);
12
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
13
+ desc = { enumerable: true, get: function() { return m[k]; } };
14
+ }
15
+ Object.defineProperty(o, k2, desc);
16
+ }) : (function(o, m, k, k2) {
17
+ if (k2 === undefined) k2 = k;
18
+ o[k2] = m[k];
19
+ }));
20
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
21
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
22
+ }) : function(o, v) {
23
+ o["default"] = v;
24
+ });
25
+ var __importStar = (this && this.__importStar) || (function () {
26
+ var ownKeys = function(o) {
27
+ ownKeys = Object.getOwnPropertyNames || function (o) {
28
+ var ar = [];
29
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
30
+ return ar;
31
+ };
32
+ return ownKeys(o);
33
+ };
34
+ return function (mod) {
35
+ if (mod && mod.__esModule) return mod;
36
+ var result = {};
37
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
38
+ __setModuleDefault(result, mod);
39
+ return result;
40
+ };
41
+ })();
42
+ Object.defineProperty(exports, "__esModule", { value: true });
43
+ exports.runInit = runInit;
44
+ const fs = __importStar(require("fs"));
45
+ const path = __importStar(require("path"));
46
+ const MCP_SERVER_CONFIG = {
47
+ command: 'npx',
48
+ args: ['@react-native-nitro-device-info/mcp-server'],
49
+ };
50
+ const SERVER_NAME = 'nitro-device-info';
51
+ /**
52
+ * Merge MCP server config into existing config
53
+ */
54
+ function mergeConfig(existing) {
55
+ if (!existing) {
56
+ return {
57
+ mcpServers: {
58
+ [SERVER_NAME]: MCP_SERVER_CONFIG,
59
+ },
60
+ };
61
+ }
62
+ return {
63
+ ...existing,
64
+ mcpServers: {
65
+ ...existing.mcpServers,
66
+ [SERVER_NAME]: MCP_SERVER_CONFIG,
67
+ },
68
+ };
69
+ }
70
+ /**
71
+ * Read existing JSON config file
72
+ */
73
+ function readJsonFile(filePath) {
74
+ try {
75
+ if (fs.existsSync(filePath)) {
76
+ const content = fs.readFileSync(filePath, 'utf-8');
77
+ return JSON.parse(content);
78
+ }
79
+ }
80
+ catch {
81
+ // File doesn't exist or invalid JSON
82
+ }
83
+ return null;
84
+ }
85
+ /**
86
+ * Write JSON config file
87
+ */
88
+ function writeJsonFile(filePath, config) {
89
+ const dir = path.dirname(filePath);
90
+ if (!fs.existsSync(dir)) {
91
+ fs.mkdirSync(dir, { recursive: true });
92
+ }
93
+ fs.writeFileSync(filePath, JSON.stringify(config, null, 2) + '\n');
94
+ }
95
+ /**
96
+ * Initialize Cursor MCP configuration
97
+ */
98
+ function initCursor(projectRoot) {
99
+ const configPath = path.join(projectRoot, '.cursor', 'mcp.json');
100
+ const existing = readJsonFile(configPath);
101
+ const merged = mergeConfig(existing);
102
+ // Check if already configured
103
+ if (existing?.mcpServers?.[SERVER_NAME]) {
104
+ return { created: false, path: configPath };
105
+ }
106
+ writeJsonFile(configPath, merged);
107
+ return { created: true, path: configPath };
108
+ }
109
+ /**
110
+ * Initialize Claude Code MCP configuration (.mcp.json)
111
+ */
112
+ function initClaudeCode(projectRoot) {
113
+ const configPath = path.join(projectRoot, '.mcp.json');
114
+ const existing = readJsonFile(configPath);
115
+ const merged = mergeConfig(existing);
116
+ // Check if already configured
117
+ if (existing?.mcpServers?.[SERVER_NAME]) {
118
+ return { created: false, path: configPath };
119
+ }
120
+ writeJsonFile(configPath, merged);
121
+ return { created: true, path: configPath };
122
+ }
123
+ /**
124
+ * Run the init command
125
+ */
126
+ async function runInit() {
127
+ const projectRoot = process.cwd();
128
+ console.log('Initializing MCP configuration for react-native-nitro-device-info...\n');
129
+ // Initialize Cursor
130
+ const cursorResult = initCursor(projectRoot);
131
+ if (cursorResult.created) {
132
+ console.log(`✓ Created ${path.relative(projectRoot, cursorResult.path)}`);
133
+ }
134
+ else {
135
+ console.log(`• ${path.relative(projectRoot, cursorResult.path)} (already configured)`);
136
+ }
137
+ // Initialize Claude Code
138
+ const claudeResult = initClaudeCode(projectRoot);
139
+ if (claudeResult.created) {
140
+ console.log(`✓ Created ${path.relative(projectRoot, claudeResult.path)}`);
141
+ }
142
+ else {
143
+ console.log(`• ${path.relative(projectRoot, claudeResult.path)} (already configured)`);
144
+ }
145
+ console.log('\nMCP configuration complete!\n');
146
+ console.log('Next steps:');
147
+ console.log(' • Cursor IDE: Restart Cursor to load the MCP server');
148
+ console.log(' • Claude Code: The MCP server will be available in your project');
149
+ console.log('\nYou can now ask AI assistants about react-native-nitro-device-info:');
150
+ console.log(' "How do I get the device\'s battery level?"');
151
+ console.log(' "What network APIs are available?"');
152
+ }
153
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * MCP Server for react-native-nitro-device-info
4
+ *
5
+ * Enables AI tools like Claude, Cursor, and Copilot to access
6
+ * accurate API documentation for the react-native-nitro-device-info library.
7
+ *
8
+ * Usage:
9
+ * npx @react-native-nitro-device-info/mcp-server # Start MCP server
10
+ * npx @react-native-nitro-device-info/mcp-server init # Initialize config files
11
+ * npx @react-native-nitro-device-info/mcp-server --help # Show help
12
+ */
13
+ export {};
14
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;;;;;;;GAUG"}