nachamcp 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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +58 -12
- data/exe/nachamcp +10 -3
- data/lib/nachamcp/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 013224a9f645ec9d33ba4cd6111037ea73717211c30e32cb96841bbe8d26d6b6
|
4
|
+
data.tar.gz: 0f8f3923d7319f629595a6cfa9a607f73153d25aa7901db531c4c85c4af3eafa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 43b5d54257be4a93cb8ea252df82775c9d7c24a34edff57c423ded46adf370da2675149fe98be959b1a270c9ebc5f4bafaf84f5d6bea7050c05309cfea1c07ae
|
7
|
+
data.tar.gz: 50798abe2e1d5cfa79281e2a16be43132a3e858405243117882d012fd6fcd350c9910402e2c30093bf1ac5eee94f55ff3418ed664cf0bac52046df74c3041a01
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -1,28 +1,74 @@
|
|
1
1
|
# Nachamcp
|
2
2
|
|
3
|
-
|
4
|
-
|
5
|
-
Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/nachamcp`. To experiment with that code, run `bin/console` for an interactive prompt.
|
3
|
+
NachaMCP is an MCP Server to allow LLMs to reason about ACH records. NachaMCP will
|
4
|
+
parse ach records into JSON or Markdown, as requested by the LLM.
|
6
5
|
|
7
6
|
## Installation
|
8
7
|
|
9
|
-
TODO: Replace `UPDATE_WITH_YOUR_GEM_NAME_IMMEDIATELY_AFTER_RELEASE_TO_RUBYGEMS_ORG` with your gem name right after releasing it to RubyGems.org. Please do not do it earlier due to security reasons. Alternatively, replace this section with instructions to install your gem from git if you don't plan to release to RubyGems.org.
|
10
|
-
|
11
|
-
Install the gem and add to the application's Gemfile by executing:
|
12
8
|
|
13
9
|
```bash
|
14
|
-
|
10
|
+
gem install nachamcp
|
11
|
+
```
|
12
|
+
To enable for Gemini CLI (`.gemini/settings.json`):
|
13
|
+
```json
|
14
|
+
{
|
15
|
+
"mcpServers": {
|
16
|
+
"nachamcp": {
|
17
|
+
"command": "nachamcp"
|
18
|
+
}
|
19
|
+
}
|
20
|
+
}
|
15
21
|
```
|
16
22
|
|
17
|
-
|
23
|
+
## Usage
|
18
24
|
|
19
|
-
|
20
|
-
|
25
|
+
Give me a detailed count of the record types in these ach records
|
26
|
+
```
|
27
|
+
101 02601507911223344552006011330A094101GS BANK USA YOUR COMPANY NAME REF123AB
|
28
|
+
5220ALPHA COMPANY 1234567890CCDPAYROLL JUN 20200701 1026015070000001
|
29
|
+
632111122223123456789 0000100000AB156325 JACK SMITH 0026015070000001
|
30
|
+
632111122223123456789 0000100000AB156325 JACK SMITH 0026015070000002
|
31
|
+
632111122223123456789 0000100000AB156325 JACK SMITH 0026015070000003
|
32
|
+
822000000300333366660000000000000000003000001234567890 026015070000001
|
33
|
+
5220ALPHA COMPANY 1234567890PPDPAYROLL JUN 20200701 1026015070000002
|
34
|
+
632111122223123456789 0000100000AB156325 JACK SMITH 0026015070000011
|
35
|
+
632111122223123456789 0000100000AB156325 JACK SMITH 0026015070000012
|
36
|
+
822000000200222244440000000000000000002000001234567890 026015070000002
|
37
|
+
5220ALPHA COMPANY 1234567890PPDPAYROLL JUN 20200701 1026015070000003
|
38
|
+
632111122223123456789 0000100000AB156325 JACK SMITH 0026015070000101
|
39
|
+
632111122223123456789 0000100000AB156325 JACK SMITH 0026015070000102
|
40
|
+
822000000200222244440000000000000000002000001234567890 026015070000003
|
41
|
+
9000003000002000000070077785554000000000000000000700000
|
21
42
|
```
|
22
43
|
|
23
|
-
|
44
|
+
### Without NachaMCP:
|
45
|
+
```
|
46
|
+
Of course. Here is a detailed breakdown of the record types in the data you provided:
|
47
|
+
|
48
|
+
┌──────────────────┬──────────────────┬───────┐
|
49
|
+
│ Record Type Code │ Record Type Name │ Count │
|
50
|
+
├──────────────────┼──────────────────┼───────┤
|
51
|
+
│ 101 │ File Header │ 1 │
|
52
|
+
│ 5220 │ Batch Header │ 3 │
|
53
|
+
│ 632 │ Entry Detail │ 6 │
|
54
|
+
│ 8220 │ Batch Control │ 3 │
|
55
|
+
│ 900 │ File Control │ 1 │
|
56
|
+
│ Total │ │ 14 │
|
57
|
+
└──────────────────┴──────────────────┴───────┘
|
58
|
+
```
|
24
59
|
|
25
|
-
|
60
|
+
### With NachaMcp
|
61
|
+
|
62
|
+
```
|
63
|
+
Of course. Here is a detailed count of the record types in the ACH records you provided:
|
64
|
+
|
65
|
+
* file_header: 1
|
66
|
+
* batch_header: 3
|
67
|
+
* ccd_entry_detail: 3
|
68
|
+
* ppd_entry_detail: 4
|
69
|
+
* batch_control: 3
|
70
|
+
* file_control: 1
|
71
|
+
```
|
26
72
|
|
27
73
|
## Development
|
28
74
|
|
data/exe/nachamcp
CHANGED
@@ -52,10 +52,17 @@ class AchParserTool < FastMcp::Tool
|
|
52
52
|
end
|
53
53
|
|
54
54
|
def call(ach_text:, output_format: "json")
|
55
|
-
|
55
|
+
ach_file = Nacha.parse(ach_text)
|
56
56
|
format = output_formatter(output_format)
|
57
|
-
|
58
|
-
|
57
|
+
|
58
|
+
case format
|
59
|
+
when :json
|
60
|
+
ach_file.to_json
|
61
|
+
when :markdown
|
62
|
+
ach_file.to_markdown
|
63
|
+
else
|
64
|
+
raise ArgumentError, "Unsupported output format: #{format}"
|
65
|
+
end
|
59
66
|
rescue StandardError
|
60
67
|
{ error: "No ACH records found in the provided text." }.to_json
|
61
68
|
end
|
data/lib/nachamcp/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nachamcp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- David H. Wilkins
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-
|
11
|
+
date: 2025-08-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: fast-mcp-annotations
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.1
|
33
|
+
version: 0.2.1
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: 0.1
|
40
|
+
version: 0.2.1
|
41
41
|
description: MCP Server to parse ACH records into json or markdown.
|
42
42
|
email:
|
43
43
|
- dwilkins@conecuh.com
|